我是熊猫的新手,我可以添加到cumsum
df.cumsum(axis=1)
y0 y1 y2
0 2 3 4
1 2 2 3
2 0 0 0
3 1 2 3
y0 y1 y2
0 2 5 9
1 2 4 7
2 0 0 0
3 1 3 6
但是有没有办法只对前2列执行,即跳过y2?
答案 0 :(得分:3)
您需要排除y2
,找回cumsum
并重新连接y2
。
pd.concat([df[['y0', 'y1']].cumsum(axis=1),df['y2']], axis=1)
输出:
y0 y1 y2
0 2 5 4
1 2 4 3
2 0 0 0
3 1 3 3
答案 1 :(得分:1)
您还可以使用.loc
仅选择您关注的列。
cols = ['y0', 'y1']
df.loc[:, cols] = df.loc[:, cols].cumsum(axis=1)
输出
y0 y1 y2
0 2 5 4
1 2 4 3
2 0 0 0
3 1 3 3