【发布时间】:2019-10-15 01:38:39
【问题描述】:
我有一个这样的熊猫数据框:
>>> df = pd.DataFrame({'MONTREGL':[10,10,2222,35,200,56,5555],'SINID':['aaa','aaa','aaa','bbb','bbb','ccc','ccc'],'EXTRA':[400,400,400,500,500,333,333]})
>>> df
MONTREGL SINID EXTRA
0 10 aaa 400
1 10 aaa 400
2 2222 aaa 400
3 35 bbb 500
4 200 bbb 500
5 56 ccc 333
6 5555 ccc 333
我想对每个分组的MONTREGL 列求和SINID...
所以我得到 2242 的 aaa 等等...我还想保留列 EXTRA 的值。
这是预期的结果:
MONTREGL SINID EXTRA
0 2242 aaa 400
1 235 bbb 500
2 5611 ccc 333
提前感谢您的帮助!
【问题讨论】:
-
您是否尝试过使用
groupby? -
print(df.groupby(by=["SINID"])["MONTREGL"].sum())? -
你能做一个
print(df.info())并分享结果打印 -
@yatu 之前提出的解决方案有效但在生产中无效
dfd= df.groupby('SINID').MONTREGL.sum().reset_index().assign(EXTRA=df.EXTRA.unique())我收到错误Length of values does not match length of index