Python Pandas:按分组和平均分组?

Python Pandas:按分组和平均分组?

我有这样的数据帧:


cluster  org      time

   1      a       8

   1      a       6

   2      h       34

   1      c       23

   2      d       74

   3      w       6 

我想计算每个群组每个组织的平均时间。


预期结果:


cluster mean(time)

1       15 ((8+6)/2+23)/2

2       54   (74+34)/2

3       6

我不知道如何在熊猫中做到这一点,任何人都可以帮忙吗?


眼眸繁星
浏览 1629回答 2
2回答

饮歌长啸

如果你想先对['cluster', 'org']组合采取均值,然后再对cluster群体采取均值In [59]: (df.groupby(['cluster', 'org'], as_index=False).mean()            .groupby('cluster')['time'].mean())Out[59]:cluster1          152          543           6Name: time, dtype: int64如果你cluster不仅仅意味着价值观,那么你可以In [58]: df.groupby(['cluster']).mean()Out[58]:              timecluster1        12.3333332        54.0000003         6.000000你可以groupby上['cluster', 'org']再取mean()In [57]: df.groupby(['cluster', 'org']).mean()Out[57]:               timecluster org1       a    438886        c        232       d      9874        h        343       w         6

白猪掌柜的

我会简单地按照你想要的逻辑来做这件事:df.groupby(['org']).mean().groupby(['cluster']).mean()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python