pandas
基于NumPy的工具
pandas是基于numpy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
简介
Pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。Pandas的名称来自于面板数据(panel 数据)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。
数据结构
Series:一维数组,与numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。
时间Series:以时间为索引的Series。
DataFrame:二维的表格型数据结构。很多功能与R中的数据frame类似。可以将DataFrame理解为Series的容器。
Panel:三维的数组,可以理解为DataFrame的容器。
Panel4D:是像Panel一样的4维数据容器。
PanelND:拥有工厂集合,可以创建像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工具
pandas拥有健壮的I/O工具,可以从CSV、JSON、Parquet、SQL表和查询、Excel文件装载数据,并以极快的HDF5格式保存/装载数据。它还支持使用util-linux工具组成员column来查看CSV文件,使用jq编程语言实现jq来查看JSON文件,以及使用hdf5-tools工具组成员h5ls来查看HDF5文件。导出和导入netCDF文件可以借助xarray,它依赖于pandas,并通过netcdf4-Python支持导入导出netCDF-4格式数据,通过SciPy支持其他版本netCDF格式。
参考资料
AI 和数据科学.引领人工智能计算.2024-03-19
Pandas是什么.C语言中文网.2024-03-19
目录
概述
简介
数据结构
发展历史
功能和服务
主要功能
示例
I/O工具
参考资料