如果您在学习和应用机器学习时使用 Python 技术栈,那么您想要使用的用于数据分析和数据处理的库就是 Pandas。
本文为您简要介绍 Pandas 库,并为您指明入门方向。
启动您的项目,阅读我的新书《Python 机器学习精通》,其中包含分步教程和所有示例的Python 源代码文件。
让我们开始吧。

Pandas 用于数据分析。
图片由 gzlu 提供,保留部分权利。
Python 数据分析
Python SciPy 技术栈总体上是一个流行的科学计算栈。它为处理网格数据(如 NumPy)和绘图(如 matplotlib)提供了强大的库。直到最近,这个套件中还缺少一个处理数据的优秀库。
数据通常不是即用型的。处理数据驱动问题(如机器学习)的很大一部分是数据分析和数据整理。
- 数据分析:这是使用统计学和数据可视化等工具,通过理解数据来更好地理解问题。
- 数据整理:这是将原始数据转换为适合您工作的形式的过程,例如数据分析或机器学习。
传统上,您必须自己编写 Python 脚本来执行这些任务。
如今,如果您在 Python 中搜索数据分析,您就无法避免了解 Pandas。它已迅速成为 Python 中处理数据的首选库。
什么是 Pandas?
Pandas 是一个用于数据分析和数据处理的 Python 库。它为 SciPy 框架中缺失的数据处理部分添加了功能。
Pandas 由 Wes McKinney 于 2008 年创建,主要用于量化金融工作。因此,它在处理时间序列数据和图表方面拥有强大的基础。
您可以使用 Pandas 将数据加载到 Python 中并执行数据分析任务。它非常适合处理表格数据,例如来自关系数据库或电子表格的数据。
Wes 将 Pandas 的愿景描述为创建:提供任何语言中最强大、最灵活的开源数据分析和处理工具。
这是一个值得支持的崇高使命,至少可以使您自己的数据分析任务更加轻松。
Pandas 特性
Pandas 用起来很愉快。
根据我的经验,它简单、优雅且直观。从 R 转过来,其习惯用法和操作都很熟悉且相关。
Pandas 构建在 SciPy 技术栈的标准库之上。它使用 NumPy 进行快速数组处理,并提供一些来自 StatsModels 的统计操作和来自 Matplotlib 的图表功能的便捷包装器。
由于该库源于金融领域,因此它非常注重时间序列。它还着重于使用 DataFrame 处理标准网格数据。数据处理是此类库的核心要求,速度已被优先考虑。它速度快,并提供了索引和稀疏性处理等数据结构和操作。
一些重要的特性包括:
- 处理:移动列、切片、重塑、合并、连接、过滤等。
- 时间序列处理:日期/时间操作、重采样、移动窗口和数据集的自动对齐。
- 缺失数据处理:自动排除、删除、替换、插值缺失值。
- 分组操作:类似 SQL 的分组操作。
- 分层索引:数据结构层级,非常适合按列高效组织数据。
- 摘要统计:对数据进行快速而强大的摘要统计。
- 可视化:简化对数据结构的图表访问,例如直方图、箱线图、通用图和散点图矩阵。
Pandas 在宽松的许可证(简化的 BSD)下可用,并且可以与其余的 SciPy 一起轻松安装。
Pandas 资源
以上是对 Pandas 库的简要介绍,还有更多内容需要学习。安装该库,获取一个数据集并开始尝试。这是入门的最佳方式。
访问 Pandas 主页,阅读该库的愿景和特性。您也可以查看该项目的 GitHub 页面。
一个很好的起点是 教程列表,其中包括烹饪书、课程以及网上各种著名的 IPython 笔记本的链接。
最后,对我来说,我经常查阅 API 文档。
论文
我认为论文可以很好地概述一个开源库,尤其是在 Python 和 R 生态系统中。请查看以下论文,了解 Pandas 的结构化概述。
视频
YouTube 上有很多很棒的视频,人们在视频中展示了他们自己的数据和会议上的 Pandas 使用。
一个很好的起点是 Wes 本人制作的 10 分钟 Pandas 教程。可以看看。它有点偏重时间序列数据,但这是一个很棒的快速概述。您还可以查看他为本次教程制作的 IPython 笔记本。
书籍
最后,Wes 是 Python 数据分析权威书籍的作者。如果您想认真学习并实践,也可以考虑购买这本书。它叫做:《Python 数据分析:使用 Pandas、NumPy 和 IPython 进行数据整理》。
对 Pandas 的精彩介绍。您知道其他语言(如 Java)中是否有类似的库吗?
提前感谢您的时间和关注。
抱歉,我不知道。
Jason 博士您好,
您是否有关于 BCI 的教程?
您能否推荐一些使用 Python 学习 BCI 的入门书籍?
谢谢你
什么是 BCI?
你好
我正在从事这个领域的工作,如果您需要任何帮助,
我很乐意。
我的邮箱:ahmed.wed@hotmail.com
祝您好运。
BCI 是脑机接口。
谢谢,我不知道“脑机接口”。