使用 Pandas 为机器学习准备 Python 数据

如果您在学习和应用机器学习时使用 Python 技术栈,那么您想要使用的用于数据分析和数据处理的库就是 Pandas。

本文为您简要介绍 Pandas 库,并为您指明入门方向。

启动您的项目,阅读我的新书《Python 机器学习精通》,其中包含分步教程和所有示例的Python 源代码文件。

让我们开始吧。

pandas for data analysis

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 进行数据整理》。

发现 Python 中的快速机器学习!

Master Machine Learning With Python

在几分钟内开发您自己的模型

...只需几行 scikit-learn 代码

在我的新电子书中学习如何操作
精通 Python 机器学习

涵盖自学教程端到端项目,例如
加载数据可视化建模调优等等...

最终将机器学习带入
您自己的项目

跳过学术理论。只看结果。

查看内容

7 条回复关于 使用 Pandas 在 Python 中准备机器学习数据

  1. Jesús Martínez 2018 年 4 月 20 日 上午 12:29 #

    对 Pandas 的精彩介绍。您知道其他语言(如 Java)中是否有类似的库吗?

    提前感谢您的时间和关注。

  2. Zeinab 2020 年 4 月 6 日 上午 2:03 #

    Jason 博士您好,

    您是否有关于 BCI 的教程?

    您能否推荐一些使用 Python 学习 BCI 的入门书籍?

    谢谢你

    • Jason Brownlee 2020 年 4 月 6 日 上午 6:09 #

      什么是 BCI?

    • Sayed 2020 年 11 月 9 日 下午 1:44 #

      你好

      我正在从事这个领域的工作,如果您需要任何帮助,
      我很乐意。

      我的邮箱:ahmed.wed@hotmail.com

      祝您好运。

  3. Zeinab 2020 年 4 月 7 日 下午 1:46 #

    BCI 是脑机接口。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。