如何使用 groupby by 索引 (1,2,3)(它们的顺序相同)并获得属于每个索引范围的列分数的总和?基本上我有这个:
index score
1 2
2 2
3 2
1 3
2 3
3 3
我想要的是:
index score sum
1 2 6
2 2 9
3 2
1 3
2 3
3 3
我明白它必须是这样的:
df = df.groupby(['Year'])['Score'].sum()
但不是用“年”,而是以某种方式通过索引来完成它?
根据评论,您可以groupby
索引并返回cumcount()
在一个新对象中s
。然后,您可以对这个新对象进行分组s
并得到sum()
。我假设index
在你的index
在您的示例中,而不是名为的列index
。如果它是一个名为index
,然后首先做df = df.set_index('index')
:
s = df.groupby(level=0).cumcount()
df.groupby(s)['score'].sum()
0 6
1 9
Name: score, dtype: int64
如果打印出来s
, then s
看起来像这样:
index
1 0
2 0
3 0
1 1
2 1
3 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)