Pandas介绍和其有什么优点?

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

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

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

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

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

4.任意其它形式的观测、统计数据集,数据转入Pandas数据结构时不必事先标记。

Pandas的主要数据结构是Series(一维数据)与DataFrame(二维数据),这两种数据结构足以处理金融、统计、社会科学、工程等领域里的大多数典型的用例。对于R用户,DataFrame提供了比R语言data.frame更丰富的功能。Pandas是基于NumPy开发,可以与其它第三方科学计算支持库完美集成。

Pandas有许多的优势

处理浮点与非浮点数据里的缺失数据,表示为NaN;

大小可变:插入或删除DataFrame等多维对象的列;

自动、显示数据对齐:显示将对象与一组标签对齐,也可以忽略标签,在Series、DataFrame计算时自动与数据对齐;

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

把Python和NumPy数据结构里不规则、不同索引的数据轻松地转换为DataFrame对象;

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

直观地合并、连接数据集;

灵活地重构、透视数据集;

轴支持结构化标签:一个刻度支持多个标签;

成熟地IO工具:读取文本文件(CSV等支持分隔符地文件)、Excel文件、数据库等来源地数据,利用超快地HDF5格式保存/加载数据;

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

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

Pandas速度很快,Pandas很多底层算法都用Cython优化过。然而,为了保持通用性,必然要牺牲一些性能,如果专注某一功能,完全可以开发出比Pandas更快的专用工具。

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

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

数据结构


为什么有多个数据结构?

Pandas数据结构就像是低维数据的容器。比如,DataFrame是Series的容器,Series则是标量的容器。使用这种方式,可以在容器中以字典的形式插入或删除对象。

此外,通用API函数的默认操作要顾及时间序列与截面数据集的方向。多维数组存储二维或三维数据时,编写函数要注意数据集的方向,这对我们来说是一种负担;如果不考虑C或Fortran中连续性对性能的影响,一般情况下,不同的轴在程序里其实没有什么区别。Pandas里,轴的概念主要是为了给数据赋予更字段的语义,即用“更恰当”的方式表示数据集的方向。这样做可以让我们在使用Pandas编写数据转换函数时,少费点脑子。

处理DataFrame等表格数据时,index(行)或columns(列)比axis

0和axis 1更直观。用这种方式迭代DataFrame的列,代码更容易读懂:


大小可变与数据复制

Pandas所有数据结构的值都是可变的,但数据结构的大小并非都是可变的,比如,Series的长度不可改变,但DataFrame里就可以插入列。

Pandas里,绝大多数方法都不改变原始的输入数据,而是复制数据,生成新的对象。一般来说,原始输入数据不变更稳妥。

如果你想学习Python,但是找不到学习路径和资源,欢迎来指尖编程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容