首页 >后端开发 >Python教程 >如何在 Python 中使用 Pandas GroupBy 计算分组统计数据?

如何在 Python 中使用 Pandas GroupBy 计算分组统计数据?

Barbara Streisand
Barbara Streisand原创
2024-12-21 21:18:04773浏览

How Can Pandas GroupBy Be Used to Calculate Group-Wise Statistics in Python?

使用 Pandas GroupBy 计算分组统计

简介

处理数据时,通常需要分析和比较不同组的统计数据。 Pandas 是一个用于数据操作的著名 Python 库,它提供了 GroupBy 功能来轻松执行这些操作。

获取分组行计数

获取每个组的行计数的最简单方法是通过.size() 方法。此方法返回包含分组计数的 Series:

df.groupby(['col1','col2']).size()

以表格格式检索计数(即,作为具有“计数”列的 DataFrame):

df.groupby(['col1', 'col2']).size().reset_index(name='counts')

计算多个分组统计数据

要计算多个统计数据,请使用 .agg() 方法和字典。键指定要计算的列,而值是所需聚合的列表(例如“平均值”、“中位数”和“计数”):

df.groupby(['col1', 'col2']).agg({
    'col3': ['mean', 'count'],
    'col4': ['median', 'min', 'count']
})

自定义数据输出

为了更好地控制输出,可以加入单独的聚合:

counts = df.groupby(['col1', 'col2']).size().to_frame(name='counts')
counts.join(gb.agg({'col3': 'mean'}).rename(columns={'col3': 'col3_mean'})) \
    .join(gb.agg({'col4': 'median'}).rename(columns={'col4': 'col4_median'})) \
    .join(gb.agg({'col4': 'min'}).rename(columns={'col4': 'col4_min'})) \
    .reset_index()

这会生成一个更加结构化的 DataFrame未嵌套的列标签。

脚注

在提供的示例中,空值可能会导致用于不同计算的行计数出现差异。这强调了在解释分组统计数据时考虑空值的重要性。

以上是如何在 Python 中使用 Pandas GroupBy 计算分组统计数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn