[英]Python: Cumulative Sum with changing key
我有一個數據表,例如:
F(1) F(2) F(3) Amount
A B C 100
A B C 100
A B C 100
D E F 300
D E F 150
G H I 100
G H I 200
我想產生一個新列,顯示字段“金額”的累積總和,但是只要列F(1),F(2)和F(3)的鍵更改,該列就會重置為0。
即我想創建以下輸出(無虛線!)
F(1) F(2) F(3) Amount CumSum
A B C 100 100
A B C 100 200
A B C 100 300
------------------------------ resets to zero as key changes
D E F 300 300
D E F 150 450
------------------------------ resets to zero as key changes
G H I 100 100
G H I 200 300
該表中可能有多達一百萬行,因此我正在尋找可靠的實現。 熊貓在這里是前進的方向嗎? 我以前沒有用過熊貓,但很高興探索。
按您的關鍵列分組並致電cumsum:
df['CumSum'] = df.groupby(['F(1)', 'F(2)', 'F(3)'])['Amount'].cumsum()
df
Out:
F(1) F(2) F(3) Amount CumSum
0 A B C 100 100
1 A B C 100 200
2 A B C 100 300
3 D E F 300 300
4 D E F 150 450
5 G H I 100 100
6 G H I 200 300
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.