多分组和平均值的分组聚合
在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中文网其他相关文章!