pandas cumsum skip column

时间:2018-06-04 20:57:10

标签: pandas dataframe cumsum

我是熊猫的新手,我可以添加到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?

2 个答案:

答案 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