我是熊猫的新手,我可以像这样添加到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 3
loc
是对DataFrame进行切片的一种灵活方法,通常遵循以下格式:
.loc[row_labels, column_labels]
其中,可以使用:
或all_columns来指示所有行。
https://stackoverflow.com/questions/50688670
复制相似问题