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

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

Patricia Arquette
Patricia Arquette原创
2024-12-19 21:26:111023浏览

How to Calculate Group-Wise Statistics in Pandas Using GroupBy?

如何使用 Pandas GroupBy 获取 Dataframe 的按组统计

在处理数据时,能够根据特定情况总结和分析数据通常很有用分组标准。 Pandas 是一个强大的用于数据操作和分析的 Python 库,通过其 GroupBy 功能提供了一种便捷的方法。

快速解答

要获取每个组内的行数,请使用 .size () 方法,它返回一个 Series:

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

要将其转换为 DataFrame 形式,使用:

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

或者,要计算每个组的行数和其他统计数据,可以使用以下方法:

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

详细示例

假设我们有一个名为 df 的数据框,其中包含列 col1 到 col4。为了说明这一点,让我们计算每组的行数:

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

输出将显示 col1 和 col2 值的每个唯一组合中的行数。

要将这些计数添加为列到我们的 DataFrame 中,我们可以利用 .reset_index(name='counts') 方法:

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

包括附加统计结果

如果我们想计算分组数据的多个统计值,我们可以使用 agg() 方法。例如,要计算 col3 的平均值和计数以及 col4 的中位数、最小值和计数,我们将使用:

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

这将返回一个 DataFrame,其中包含 col1 的每个唯一组合所请求的统计信息和 col2 值。

结论

Pandas GroupBy 是一个基于特定标准分析数据的强大工具。通过利用适当的方法和聚合,您可以有效地获取分组统计数据,从而获得见解并更彻底地了解您的数据。

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

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