pandas: 强大的 Python 数据分析工具包
这是什么?
pandas 是一个 Python 包,提供快速、灵活和富有表现力的数据结构,旨在使处理"关系型"或"标签化"数据变得既简单又直观。它的目标是成为在 Python 中进行实际的、真实世界数据分析的基础高级构建模块。此外,它还有一个更广泛的目标,即成为任何语言中最强大和灵活的开源数据分析/操作工具。它已经在朝着这个目标迈进了很大一步。
目录
主要特性
以下是 pandas 擅长的一些事项:
- 轻松处理浮点和非浮点数据中的[缺失数据][missing-data](表示为
NaN
、NA
或NaT
) - 大小可变性:可以从 DataFrame 和更高维度的对象中[插入和删除][insertion-deletion]列
- 自动和显式[数据对齐][alignment]:对象可以显式地对齐到一组标签,或者用户可以简单地忽略标签,让
Series
、DataFrame
等在计算中自动为您对齐数据 - 强大、灵活的[分组][groupby]功能,用于对数据集执行拆分-应用-合并操作,既可以聚合数据,也可以转换数据
- [轻松转换][conversion]不规则的、索引不同的其他 Python 和 NumPy 数据结构到 DataFrame 对象
- 基于智能标签的大型数据集[切片][slicing]、[花式索引][fancy-indexing]和[子集选择][subsetting]
- 直观的数据集[合并][merging]和[连接][joining]
- 灵活的数据集[重塑][reshape]和[透视][pivot-table]
- 轴的[层次化][mi]标签(每个刻度可以有多个标签)
- 用于从[平面文件][flat-files](CSV 和带分隔符的文件)、[Excel 文件][excel]、[数据库][db]加载数据的强大 IO 工具,以及用于保存/加载超快速 [HDF5 格式][hdfstore]数据的工具
- [时间序列][timeseries]特定功能:日期范围生成和频率转换、移动窗口统计、日期移位和滞后 [缺失数据]: https://pandas.pydata.org/pandas-docs/stable/user_guide/missing_data.html [插入删除]: https://pandas.pydata.org/pandas-docs/stable/user_guide/dsintro.html#column-selection-addition-deletion [对齐]: https://pandas.pydata.org/pandas-docs/stable/user_guide/dsintro.html?highlight=alignment#intro-to-data-structures [分组]: https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html#group-by-split-apply-combine [转换]: https://pandas.pydata.org/pandas-docs/stable/user_guide/dsintro.html#dataframe [切片]: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#slicing-ranges [花式索引]: https://pandas.pydata.org/pandas-docs/stable/user_guide/advanced.html#advanced [子集]: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#boolean-indexing [合并]: https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html#database-style-dataframe-or-named-series-joining-merging [连接]: https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html#joining-on-index [重塑]: https://pandas.pydata.org/pandas-docs/stable/user_guide/reshaping.html [数据透视表]: https://pandas.pydata.org/pandas-docs/stable/user_guide/reshaping.html [多级索引]: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#hierarchical-indexing-multiindex [平面文件]: https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#csv-text-files [Excel]: https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#excel-files [数据库]: https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#sql-queries [HDF存储]: https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html#hdf5-pytables [时间序列]: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#time-series-date-functionality
获取途径
源代码目前托管在GitHub上: https://github.com/pandas-dev/pandas
最新发布版本的二进制安装程序可在Python包索引(PyPI)和Conda上获取。
# conda
conda install -c conda-forge pandas
# 或 PyPI
pip install pandas
每个版本之间pandas的变更列表可以在这里找到。完整详情请查看https://github.com/pandas-dev/pandas的提交日志。
依赖项
- NumPy - 为大型多维数组、矩阵提供支持,并提供用于操作这些数组的高级数学函数
- python-dateutil - 为标准datetime模块提供强大的扩展
- pytz - 将Olson tz数据库引入Python,允许进行准确和跨平台的时区计算
查看完整安装说明以了解所需、推荐和可选依赖项的最低支持版本。
从源代码安装
要从源代码安装pandas,除了上述正常依赖项外,还需要Cython。可以从PyPI安装Cython:
pip install cython
在pandas
目录(克隆git仓库后找到此文件的同一目录)中执行:
pip install .
或以开发模式安装:
python -m pip install -ve . --no-build-isolation --config-settings=editable-verbose=true
查看从源代码安装的完整说明。
许可证
文档
官方文档托管在PyData.org。
背景
pandas
的工作始于2008年在AQR(一家量化对冲基金),此后一直在积极开发中。
获取帮助
对于使用问题,最佳去处是StackOverflow。此外,一般问题和讨论也可以在pydata邮件列表上进行。
讨论和开发
大多数开发讨论都在GitHub上的这个仓库中进行,通过GitHub问题跟踪器。
此外,pandas-dev邮件列表也可用于专门的讨论或设计问题,还有一个Slack频道可用于快速开发相关问题。
还有定期的社区会议供项目维护者参加,对社区开放,以及每月的新贡献者会议以帮助支持新贡献者。
有关通信渠道的其他信息可以在贡献者社区页面上找到。
为pandas做贡献
欢迎所有贡献、错误报告、错误修复、文档改进、增强功能和想法。
关于如何贡献的详细概述可以在**贡献指南**中找到。
如果你只是想开始使用pandas代码库,请导航到GitHub "issues"选项卡并开始浏览有趣的问题。有一些问题列在文档和好的第一个问题下,你可以从这里开始。
你还可以分类问题,这可能包括重现错误报告,或询问重要信息,如版本号或重现说明。如果你想开始分类问题,一个简单的方法是在CodeTriage上订阅pandas。
或者通过使用pandas,你有了自己的想法,或者在文档中寻找某些内容并认为"这可以改进"...你可以做些什么!
作为这个项目的贡献者和维护者,你应该遵守pandas的行为准则。更多信息可以在:贡献者行为准则找到。