重置分组后的 DataFrame 索引
在此步骤中,你将学习如何将分组后的输出转换回常规 DataFrame,其中分组键是列而不是索引。默认情况下,groupby() 会将分组键设置为结果 Series 或 DataFrame 的索引。有时,你可能需要一个“扁平化”的 DataFrame 以便进行进一步处理或可视化。
实现这一目标的最简单方法是在 groupby() 方法中使用 as_index=False 参数。
让我们重复步骤 2 中的单列分组,但这次我们将 Category 保留为常规列。
将以下代码添加到你的 main.py 文件的末尾:
## Group by 'Category' and aggregate, but keep 'Category' as a column
category_sales_flat = df.groupby('Category', as_index=False)['Sales'].sum()
print("\nGrouped data with 'Category' as a column:")
print(category_sales_flat)
保存文件并最后运行一次。
python3 main.py
观察输出。Category 不再是索引,而是现在新 DataFrame 的第一列,并且该 DataFrame 具有标准的整数索引(0、1、2)。
... (previous output) ...
Grouped data with 'Category' as a column:
Category Sales
0 Books 750
1 Clothing 1700
2 Electronics 2700
这种格式通常对于后续的数据操作任务更方便。另一种方法是在分组结果上调用 .reset_index(),这可以达到相同的效果。