7个让你的数据准备时间减半的Pandas技巧

7 Pandas Tricks That Cut Your Data Prep Time in Half

7个让你的数据准备时间减半的Pandas技巧
图片由 Editor | ChatGPT 提供

数据准备是任何数据科学或分析项目中耗时最多的部分之一,但并非必须如此。通过适当的技术,Pandas 可以帮助您快速地将杂乱复杂的数据集转换为干净、可分析的格式。从处理缺失数据到重塑和优化您的 DataFrame,一些技巧可以为您节省数小时的工作。

在本文中,您将发现七个实用的 Pandas 技巧,它们可以加快您的数据准备过程,并帮助您更多地关注分析而非清理工作。

1. 使用 assign() 链式转换

创建新列或修改现有列是数据转换的核心部分。`.assign()` 方法允许您链接转换,而无需创建中间变量或将过程分解为多个步骤。

在这里,我们通过将 units_sold 乘以 `unit_price` 来创建一个名为 `total_sales` 的新列,然后创建另一个名为 `log_sales` 的列,其值为 total sales 的对数。

2. 使用 fillna() 中的字典填充缺失值

处理缺失值是数据准备任务中最常见和最早的任务之一。您可以利用 `fillna()` 填充多个列,而不是为每个列编写单独的填充语句。

这种方法让您完全控制每个列的填充方式。例如,您可以将缺失的价格替换为 0,并将缺失的类别标签替换为“Unknown”之类的字符串。

3. 使用 explode() 展平列表列

许多数据集(例如 JSON、嵌套 CSV)包含类似列表的数据列。`explode()` 函数是一种将这些数据展平成单独的行,同时保持其他列不变的工具。

此函数将列表中的每个项目转换为其自己的行,同时保持其余数据不变。这对于处理一对多关系非常有用,其中每一行都可以与多个标签相关联。

4. 使用 query() 进行可读性过滤

使用逻辑条件过滤数据可能会变得混乱,尤其是在链接多个条件时。`query()` 使用类似 SQL 的表达式提供了一种更易读的过滤行的方式。

这样可以轻松应用过滤器,而无需嵌套过深的括号。您可以编写复杂的条件,这些条件仍然一目了然。

5. 使用 groupby().agg() 进行命名聚合

汇总数据是分析过程的关键部分。您可以使用 `.agg()` 方法中的命名聚合为每个指标分配自定义名称,而不是使用默认的聚合名称。

这样,您的结果 DataFrame 将具有有意义的列名,如 `avg_sales` 和 `max_discount`,而不是仅仅是 `sales` 或 `discount`。

6. 使用 pd.to_datetime() 进行日期解析

处理混乱的日期格式?使用 `pd.to_datetime()` 将字符串转换为正确的日期对象。这使得以后处理基于日期的操作变得容易。

设置 `errors='coerce'` 会告诉 Pandas 将无效的日期字符串转换为 `NaT` (Not a Time),这可以避免解析过程中的错误。

7. 使用 pipe() 实现模块化工作流

随着数据转换变得越来越复杂,您的代码可能会变得难以理解。`pipe()` 通过链接自定义函数,帮助您构建模块化、可重用的管道。

通过使用此函数,您可以将 DataFrame 传递给一系列自定义函数。每个函数将其 DataFrame 作为第一个参数,并返回一个修改后的版本。

总结

只需几个 Pandas 技巧,您就可以大大提高数据准备的速度和清晰度。以下是快速回顾:

With just a few Pandas tricks, you can drastically improve your data preparation speed and clarity. Here’s a quick recap.

这些技术可以帮助您减少样板代码,编写更清晰的代码,并更快地准备好数据以进行分析。通过掌握它们,您将花费更少的时间进行清理,而将更多的时间用于生成见解。

2 条对《7个Pandas技巧,将您的数据准备时间缩短一半》的回复

  1. Subhash 2025年7月19日 上午3:56 #

    需要注意的一点是,如果有人希望将 groupby 中的索引作为 pandas 数据框中的一个列,那么不应该使用 reset_index,而应该在 groupby 参数中使用 as_index=False。在所有这些参数中,我发现 pipe 和 assign 更友好。

    • James Carmichael 2025年7月20日 上午4:03 #

      你好 Subhash… 感谢您对我们讨论的贡献!

留下回复

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