我是熊猫的新手,我可以像这样添加到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但是有没有办法只对前两列执行,即跳过y2?
发布于 2018-06-05 05:00:18
您需要排除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发布于 2018-06-05 05:09:04
您还可以使用.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 3loc是对DataFrame进行切片的一种灵活方法,通常遵循以下格式:
.loc[row_labels, column_labels]
其中,可以使用:或all_columns来指示所有行。
https://stackoverflow.com/questions/50688670
复制相似问题