当前位置: 首页 > 图灵资讯 > 行业资讯> Python之了解pandas!

Python之了解pandas!

来源:图灵python
时间: 2025-02-10 13:33:46

【01x00】了解 Pandas

Pandas 是 Python 以数据分析包为基础的数据分析包 NumPy 构造的,最初是由 AQR Capital Management 于 2008 年 4 月开发,并于 2009 年底开源,目前专注于 Python 开发数据包 PyData 开发团队继续开发和维护,属于 PyData 项目的一部分。

Pandas 因此,它最初是作为金融数据分析工具开发的,Pandas 为时间序列分析提供了良好的支持。Pandas 这个名字来自面板数据(panel data)和 Python 数据分析(data analysis)。

panel data 它是经济学中关于多维数据集的术语 Pandas 中也提供了 panel 数据类型。

Pandas 经常与其他工具一起使用,如数值计算工具 NumPy 和 SciPy,分析库 statsmodels 和 scikit-learn,数据可视化库 Matplotlib 等,虽然 Pandas 大量使用 NumPy 编码风格,但两者的区别在于 Pandas 它是专门为处理表和混合数据而设计的。

而 NumPy 更适合处理统一的数值数组数据。

Pandas 是 Python 核心数据分析支持库提供了快速、灵活、清晰的数据结构,旨在简单、直观地处理关系和标记数据。

Pandas 目标是成为 Python 开源数据分析工具是数据分析实践和实践所必需的高级工具,其长期目标是成为支持任何语言的最强大、最灵活的开源数据分析工具。经过多年的不懈努力,Pandas 离这个目标越来越近了。

Pandas 适用于处理以下类型的数据:

1、与 SQL 或 Excel 表格类似,包含异构列的表格数据;

2、时间序列数据有序无序(非固定频率);

3、带有行列标签的矩阵数据,包括同构或异构数据;

4、任何其他形式的观察、统计数据集, 数据转入 Pandas 不需要事先标记数据结构。

Pandas 主要的数据结构是 Series(一维数据)和 DataFrame这两种数据结构足以处理(二维数据)- 在金融、统计、社会科学、工程等领域的大多数典型用例。

对于 R 语言用户,DataFrame 提供了比 R 语言 data.frame 功能更丰富。Pandas 基于 NumPy 可与其他第三方科学计算支持库完美集成开发。

Pandas 就像一把万能瑞士军刀,下面只列出了它的一些优势 :

1、处理浮点和非浮点数据中的缺失数据表示 NaN;

2、可变尺寸:插入或删除: DataFrame 等待多维对象的列;

3、自动、显式数据对齐:显式对齐对象和一组标签,也可以忽略标签 Series、DataFrame 计算时自动对齐数据;

4、强大灵活的分组(group by)功能:拆分-应用-组合数据集,聚合和转换数据;

5、把 Python 和 NumPy 不规则、不同索引的数据在数据结构中很容易转换为 DataFrame 对象;

6、大型数据集基于智能标签进行切片、花式索引、子集分解等操作;

7、数据集的直观合并和连接;

8、灵活重塑和旋转数据集;

9、轴支持分层标签(每个刻度可能有多个标签);

10、强大的 IO 读取平面文件的工具(CSV 支持分隔符的文件等)、Excel 来自文件、数据库等来源的数据,以及超快 HDF5 格式保存 / 加载数据;

时间序列:支持时间序列功能,如日期范围生成、频率转换、移动窗口统计、移动窗口线性回归、日期位移等。

这些功能主要是为了解决其他编程语言和科研环境的痛点。处理数据一般分为数据分类和清理、数据分析和建模、数据可视化和制表等几个阶段,Pandas 它是处理数据的理想工具。

其它说明:

Pandas 速度很快。Pandas 使用了许多底层算法 Cython 优化。然而,为了保持通用性,必须牺牲一些性能。如果你专注于某个功能,你可以完全开发比例 Pandas 专用工具更快。

Pandas 是 statsmodels 所以,依赖项目,所以,Pandas 也是 Python 生态系统中统计算的重要组成部分。

Pandas 已广泛应用于金融领域。

【02x00】Pandas 数据结构

Pandas 主要的数据结构是 Series(带标签的一维同构数组)和 DataFrame(带标签、尺寸可变的二维异构表格)。

Pandas 数据结构就像一个低维数据容器。例如,DataFrame 是 Series 的容器,Series 它是一个标量容器。这样,可以以字典的形式插入或删除容器中的对象。

此外,通用 API 默认操作函数应考虑时间序列和截面数据集的方向。

当使用 Ndarray 在存储二维或三维数据时,编写函数应注意数据集的方向,这是用户的负担;如果不考虑 C 或 Fortran 一般来说,程序中不同轴的连续性对性能的影响没有区别。

Pandas 在内部,轴的概念主要是给数据一个更直观的语义,即以更合适的方式表示数据集的方向。这可以让用户在编写数据转换函数时花更少的时间。

处理 DataFrame 在等待表数据时,进行比较 Numpy,index(行)或 columns(列)比 axis 0 和 axis 1 更直观。以这种方式迭代。 DataFrame 代码更容易读懂的列:

forcolindf.columns:
series=df[col]
#dosomethingwithseries

更多Python知识,请关注Python视频教程!!