Sab*_*riS 7 python dataframe pandas
我有一个像这样的熊猫数据帧:
>>> 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
Run Code Online (Sandbox Code Playgroud)
我想MONTREGL对每个 groupby的列求和SINID...
所以我得到 2242 aaa 等等......我还想保留 column 的值EXTRA。
这是预期的结果:
MONTREGL SINID EXTRA
0 2242 aaa 400
1 235 bbb 500
2 5611 ccc 333
Run Code Online (Sandbox Code Playgroud)
提前感谢您的帮助!
我最终使用了这个脚本:
dff = df.groupby(["SINID","EXTRA"]).MONTREGL.sum().reset_index()
Run Code Online (Sandbox Code Playgroud)
它适用于本次测试和生产。
我知道这篇文章很旧,但这可能对其他人有帮助:
使用本地化:
df.loc[df['SINID'] == aaa].MONTREGL.sum()
使用分组:
df.groupby('SINID')['MONTREGL'].sum()
以下链接回答了类似的问题(查看 Alex Riley 的回复):
祝你好运,
| 归档时间: |
|
| 查看次数: |
15339 次 |
| 最近记录: |