use*_*518 2 dataframe pandas 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
Run Code Online (Sandbox Code Playgroud)
但是有没有办法只在前 2 列上执行,即跳过 y2?
您还可以用来.loc仅选择您关心的列。
cols = ['y0', 'y1']
df.loc[:, cols] = df.loc[:, cols].cumsum(axis=1)
Run Code Online (Sandbox Code Playgroud)
输出
y0 y1 y2
0 2 5 4
1 2 4 3
2 0 0 0
3 1 3 3
Run Code Online (Sandbox Code Playgroud)
loc是一种对 DataFrame 进行切片的灵活方法,通常遵循以下格式:
.loc[row_labels, column_labels]
其中 an:可用于指示所有行或 all_columns。
您需要排除y2、查找cumsum和连接y2回来。
pd.concat([df[['y0', 'y1']].cumsum(axis=1),df['y2']], axis=1)
Run Code Online (Sandbox Code Playgroud)
输出:
y0 y1 y2
0 2 5 4
1 2 4 3
2 0 0 0
3 1 3 3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
868 次 |
| 最近记录: |