博客
关于我
python pandas库详解_Pandas 库的详解和使用补充
阅读量:796 次
发布时间:2023-03-06

本文共 2586 字,大约阅读时间需要 8 分钟。

Pandas库作为Python数据处理的核心工具,能够通过高效的操作实现数据分析与操作,替代传统的Excel数据处理。以下将从基础到应用,全面介绍Pandas的使用方法。

Series的创建与操作

Series是Pandas中的基本数据结构,类似于NumPy的向量,通常用来存储一维数据序列或样本的某一属性值。可以通过以下方式创建Series:

import pandas as pdimport numpy as np# 从随机数生成正态分布数据Series1 = pd.Series(np.random.randn(4))print(Series1)

输出结果会自动生成行索引,显示为:

0    0.0000001    1.0000002    2.0000003    3.000000

Series还支持键值对存储,可以通过指定索引来实现:

Series2 = pd.Series(Series1.values, index=["row_" + str(i) for i in range(4)])print(Series2)

此外,Python字典也可以转换为Series,但需要注意字典本身是无序的:

Series3 = pd.Series({"China": "Beijing", "England": "GB", "Japan": "Tokyo"})print(Series3)

为了保持字典的顺序,可以通过指定索引来实现:

Series4_IndexList = ["China", "Japan", "England"]Series4 = pd.Series(Series3, index=Series4_IndexList)print(Series4)

若索引中存在重复项,Pandas会默认填充空值,可以使用isnull()notnull()检查缺失值。

DataFrame的创建与操作

DataFrame是Series的扩展,表示二维数据,可以看作是NumPy矩阵或JSON对象。创建DataFrame的方式有多种:

  • 从NumPy数组创建
  • DF1 = pd.DataFrame(np.asarray([("Japan", "Tokyo", 4000),                            ("S.Korea", "Seoul", 1000),                            ("China", "Beijing", 9000)],                  columns=["nation", "capital", "GDP"])print(DF1)
    1. 从JSON创建
    2. DF2 = pd.DataFrame({"nation": ["Japan", "S.Korea", "China"],                 "capital": ["Tokyo", "Seoul", "Beijing"],                 "GDP": [4000, 1000, 9000]})print(DF2)

      由于JSON中的键是无序的,通常需要通过指定列名来确保顺序:

      DF3 = pd.DataFrame(DF2, columns=["nation", "capital", "GDP"])print(DF3)

      在DataFrame中筛选数据,推荐使用.loc.iloc等方法,而不是直接使用df['column'],因为后者可能与某些关键字冲突:

      # 示例:筛选第一行print(DF4[0:1])# 示例:通过标签筛选print(DF4.loc[0])

      DataFrame支持通过索引切片和布尔条件筛选:

      # 筛选满足条件的行print(DF4[DF4 > 0])

      DataFrame还支持向内插入新列:

      DF4["region"] = "East Asian"print(DF4)

      数据操作与统计

      Pandas提供了丰富的数据操作函数,包括描述性统计、排序、透视表等:

    3. 描述性统计
    4. print(df.describe())
      1. 排序
      2. # 按列排序print(df.sort_index(axis=1, ascending=False))# 按值排序print(df.sort_values(by='B'))
        1. 数据透视表
        2. print(pd.pivot_table(df, values='D', index=['A', 'B'], columns=['C']))
          1. 数据重塑
          2. # 列转行print(stacked = df.stack())# 行转列print(stacked.unstack())

            缺失值处理

            在数据处理中,Pandas支持通过reindex()dropna()fillna()等方法处理缺失值:

            # 重新排列索引并填充缺失值df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])df1.loc[dates[0:1], 'E'] = 1print(df1)

            数据导入与保存

            Pandas支持多种数据格式导入和保存:

          3. CSV文件
          4. df.to_csv('foo.csv')df = pd.read_csv('foo.csv')print(df)
            1. HDF5文件
            2. df.to_hdf('foo.h5', 'df')df = pd.read_hdf('foo.h5', 'df')print(df)
              1. Excel文件
              2. df.to_excel('foo.xlsx', sheet_name='Sheet1')df = pd.read_excel('foo.xlsx', sheet_name='Sheet1')print(df)

                终端操作

                在实际使用中,可以通过以下方式高效操作数据:

                # 通过位置访问print(df.iat[1,1])# 通过标签访问print(df.at[dates[0], 'A'])

                Pandas的强大功能使其成为数据科学和工程领域的首选工具。通过上述方法,可以轻松完成数据清洗、统计分析、可视化等多种操作,为后续的机器学习和数据分析奠定基础。

    转载地址:http://umafk.baihongyu.com/

    你可能感兴趣的文章
    Pytorch 图像增强 实现翻转裁剪色调等 附代码(全)
    查看>>
    pyautogui模拟鼠标拖动选中文字的基本知识(附Demo)
    查看>>
    PyCharm - 社区版是否能够突出显示 css/javascript?
    查看>>
    PyCharm 2018.3.5 RC 发布,原生 SSH 支持
    查看>>
    Pycharm Pro 2018.2 汉化专业激活破解
    查看>>
    PyCharm vs VSCode,是时候改变你的 IDE 了!
    查看>>
    PyCharm 中,“新建”(New)和“新建项目”(New Project)-ChatGPT4o作答
    查看>>
    PyCharm 代码编辑与调试运行详解
    查看>>
    Pycharm 出现 instantitaing tests 以及test session starts 的解决方法
    查看>>
    Pycharm 对容器中的 Python 程序断点远程调试
    查看>>
    PyCharm 常用的技巧完全指南
    查看>>
    pycharm 怎么添加python依赖的包, requirements.txt文件如何导入python库
    查看>>
    PyCharm 插件工具使用
    查看>>
    PyCharm 界面排版详解
    查看>>
    pycharm 配置qt
    查看>>
    PyCharm不突出显示错误
    查看>>
    Pycharm中基于Ollama和Proxy AI使用本地算力进行AI辅助编程
    查看>>
    Pycharm中配置项目的打开方式(This Window,New Window)
    查看>>
    PyCharm为什么这么牛?
    查看>>
    pycharm出现Can‘t get remote credentials for deployment server 的解决方法
    查看>>