這是我的數(shù)據(jù)框:df = pd.DataFrame({'a':[100, 105, 110, 150, 160], 'b':[2,2,1,3,2], 'c':[200, 210, 110, 450, 300], 'x':[0,0,0,1,1]}) a b c x0 100 2 200 01 105 2 210 02 110 1 110 03 150 3 450 14 160 2 300 1我接下來(lái)添加此列:df['csum'] = df.groupby('x')['c'].cumsum()我想添加另一列,顯示最后csum一個(gè) 0(520)和最后csum一個(gè) 1(750)之間的差異(百分比)。在這種情況下,差異為 44.23%。我想要的結(jié)果是這樣的: a b c x csum result0 100 2 200 0 200 44.231 105 2 210 0 410 44.232 110 1 110 0 520 44.233 150 3 450 1 450 44.234 160 2 300 1 750 44.23
1 回答

桃花長(zhǎng)相依
TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
檢查 last
df['result']=df.groupby('x').csum.last().pct_change().iloc[-1]
df
Out[891]:
a b c x csum result
0 100 2 200 0 200 0.442308
1 105 2 210 0 410 0.442308
2 110 1 110 0 520 0.442308
3 150 3 450 1 450 0.442308
4 160 2 300 1 750 0.442308
添加回答
舉報(bào)
0/150
提交
取消