详细内容或原文请订阅后点击阅览
Pandas GroupBy 举例说明
通过简单实用的示例,了解如何使用 Pandas GroupBy 来汇总、比较和分析分组数据。
来源:KDnuggets简介
Pandas 是最流行的数据分析 Python 库之一。它为您提供了用于清理、重塑、总结和探索结构化数据的简单工具。 pandas 最有用的功能之一是 GroupBy。它可以帮助您回答需要按一个或多个类别对行进行分组的问题。
例如,如果您正在处理销售数据,您可能需要按地区计算总收入、按产品类别计算平均订单价值或每个销售代表处理的订单数量。 GroupBy 可以让您以干净、高效的方式执行这些计算,而不是一一手动过滤每个类别。
在本教程中,我们将演练使用 Pandas GroupBy 和小型销售数据集的实际示例。我使用 Deepnote 作为编码环境,因此一些输出直接在代码块下方显示为笔记本屏幕截图。
创建示例数据集
在使用 GroupBy 之前,我们首先创建一个小型零售数据集,其中包含 order_id、region、category、sales_rep、units、unit_price、discount 和 order_date 等列。然后,我们将字典转换为 pandas DataFrame 并创建两个新列:gross_sales 和 net_sales。
gross_sales 列是通过将单位乘以unit_price 来计算的,而net_sales 则在应用折扣后调整该值。这为我们提供了一个干净的数据集,可用于所有 GroupBy 示例。
使用基本 GroupBy 语法
最基本的 GroupBy 操作遵循一个简单的模式:选择分组列,选择值列,然后应用聚合函数。在此示例中,我们按区域对数据进行分组,并计算每个区域的总 net_sales。
df.groupby("region")["net_sales"].sum()
结果显示,北、南、西各有自己的总销售额。这是汇总数据时 GroupBy 最简单且最常见的用例。
区域
北3311.0
南3558.8西4239.0名称:net_sales,数据类型:float64使用 GroupBy 和 as_index=False输出:
