pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。[1]你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。[2]
简介
Pandas是python的一个数据分析包,[3]最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。
数据结构
Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。
DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。
Panel:三维的数组,可以理解为DataFrame的容器。
Panel4D:是像Panel一样的4维数据容器。
PanelND:拥有factory集合,可以创建像Panel4D一样N维命名容器的模块。
发展历史
Pandas的开发始于2008年,由Wes McKinney在AQR资本管理公司开始,为了满足金融数据分析的需求。
2009年,Wes McKinney离开AQR之前,说服管理层将pandas开源。
2012年,Chang She加入项目,成为第二个主要贡献者。
2015年,pandas成为NumFOCUS的财务赞助项目。
2018年,举行了第一次面对面的“核心开发者冲刺”。
2022年,第三版《Python for Data Analysis》公开版在线发行。
主要功能
pandas提供了快速而高效的DataFrame对象,用于凭借其集成的索引进行数据操纵。它的主要特征包括易于将不同索引的数据转换成DataFrame对象,大小可变性,自动和显式的数据对齐,处理缺失数据的能力,基于标签的分片,多重索引,数据集的归并和连接,分组功能,数据集的重制形状和枢轴汇总,层级标签的轴,强大的I/O工具,以及特定于时间序列的功能。pandas经过了高度的性能优化,关键代码路径用Cython或C语言写成。pandas可以利用PyArrow来扩展功能并增进各种API的性能。pandas的缺省绘图后端是matplotlib,还可以扩展上其他第三方绘图后端。进程内SQL OLAP列式数据库DuckDB,可以在pandas数据帧上执行SQL。
示例
pandas提供了丰富的示例来展示其功能,包括基本的数据帧操作、数据帧与序列之间的运算、数据帧的查询、数据帧的重制形状、数据帧的串接和归并、数据帧的分组和聚合、数据帧的枢轴汇总,以及使用matplotlib绘制条形图。此外,pandas还提供了强大的数据导入和导出功能,支持多种文件格式,如CSV、JSON、HDF5、netCDF等。
I/O工具
参考资料 3
- difference between pandas series and dataframe — 稀土掘金
- AI 和数据科学 — 引领人工智能计算
- Pandas是什么 — C语言中文网