如何解决如何在熊猫中进行有条件的总和?
我需要对熊猫的两列进行累加总和。
说我想总结工人在不同季度的销售额:
df = pd.DataFrame({'Worker': [A,A,B,C,D,D],'Quarter': ['Test 1','Test 2','Test 1','Test 2'],'Grade': [10,8,7,6,10,5,7]})
df
Worker Quarter Sales
0 A Q1 10
1 A Q2 8
2 B Q1 7
3 B Q2 6
4 C Q1 8
5 C Q2 10
6 D Q1 5
7 D Q2 7
给我这样的结果:
Worker Quarter Sales
0 A Q1 10
1 A Q2 18
2 B Q1 7
3 B Q2 13
4 C Q1 8
5 C Q2 18
6 D Q1 5
7 D Q2 12
最快的方法是什么?我正在尝试为循环嵌套,但是它们非常丑陋,并且在更长的数据库中,我担心丢失某些东西。
解决方法
尝试将groupby
与cumsum
一起
df['Sales'] = df.groupby('Worker')['Sales'].cumsum()
,
您可以将cumsum与transform相结合:
df['Sales'] = df.groupby('Worker')['Sales'].transform(pd.Series.cumsum)
输出:
Worker Quarter Sales
0 A Q1 10
1 A Q2 8
2 B Q1 7
3 B Q2 6
4 C Q1 8
5 C Q2 10
6 D Q1 5
7 D Q2 7
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。