首页 >后端开发 >Python教程 >如何计算 Pandas 中多个分组的平均值?

如何计算 Pandas 中多个分组的平均值?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-20 01:45:01351浏览

How to Calculate Average Values with Multiple Groupings in Pandas?

多分组和平均值的分组聚合

在Pandas中,对按多个级别分组的数据进行聚合是一种常见的操作。考虑以下 DataFrame:

   cluster  org      time
   1      a       8
   1      a       6
   2      h       34
   1      c       23
   2      d       74
   3      w       6 

常见任务是计算由多个变量(例如“cluster”和“org”)定义的每个组的给定列(例如“时间”)的平均值。

解决方案 1:仅针对集群分组的平均值

要计算仅按“集群”分组的“时间”的平均值,您可以使用以下代码:

df.groupby(['cluster']).mean()

结果:

              time
cluster
1        12.333333
2        54.000000
3         6.000000

解决方案 2:分组组合的平均值

如果您想计算“集群”和“组织”的每个组合的“时间”平均值,您可以使用:

df.groupby(['cluster', 'org']).mean()

结果:

               time
cluster org
1       a    438886
        c        23
2       d      9874
        h        34
3       w         6

解决方案 3:分组上的嵌套均值

要执行嵌套均值,首先对“cluster”和“org”的组合求平均值,然后对“cluster”组求平均值,请使用:

(df.groupby(['cluster', 'org'], as_index=False).mean()
            .groupby('cluster')['time'].mean())

结果:

cluster  mean(time)
1          15 #=((8 + 6) / 2 + 23) / 2
2          54 #=(74 + 34) / 2
3           6

以上是如何计算 Pandas 中多个分组的平均值?的详细内容。更多信息请关注PHP中文网其他相关文章!

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