簡體   English   中英

Python:具有更改鍵的累積和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM