知行编程网知行编程网  2022-12-29 06:30 知行编程网 隐藏边栏  5 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python之了解pandas!的相关知识,包括Python list,以及python pandas库这些编程知识,希望对大家有参考作用。

Python对pandas的理解!


【01x00】了解 Pandas

Pandas是Python的数据分析包,建立在NumPy之上,最初由AQR Capital Management于2008年4月开发,并于2009年底开源,目前由专注于Python数据包开发的PyData开发团队进行开发和维护,它是 PyData 项目的一部分。

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

面板数据是经济学中立方体的术语,Pandas中也提供了面板数据类型。

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.强大灵活的分组功能:拆分-应用-合并数据集,聚合和转换数据;

5.轻松地将Python和NumPy数据结构中不规则和不同索引的数据转换为DataFrame对象;

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

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

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

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

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

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

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


其它说明:

pandas很快。 Pandas 的许多底层算法都使用 Cython 进行了优化。但是,为了保持通用性,必须牺牲一些性能。如果你专注于某个功能,你可以开发一个比 Pandas 更快的专用工具。

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

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


【02x00】Pandas 数据结构

Pandas的主要数据结构有Seri​​es(带标签的一维齐次数组)和DataFrame(带标签的可变大小二维异构表)。

Pandas 数据结构就像低维数据的容器。比如DataFrame是Series的容器,Series是标量的容器。通过这种方式,对象可以作为容器中的字典被插入或移除。

此外,通用 API 函数的默认行为考虑了时间序列和横截面数据集的方向。

使用Ndarray存储二维或三维数据时,用户写函数要注意数据集的方向是一种负担;如果不考虑 C 或 Fortran 中连续性对性能的影响,一般来说,不同的 Axis 不会对程序产生任何影响。

在Pandas中,轴的概念主要是为了赋予数据更直观的语义,即用更合适的方式表达数据集的方向。这样做可以让用户在编写数据转换函数时节省一点脑力。

在处理 DataFrame 等表格数据时,比较 Numpy、索引(行)或列(列)比轴 0 和轴 1 更直观。以这种方式遍历 DataFrame 的列使代码更易读和理解:

for col in df.columns:
    series = df[col]
    # do something with series

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享