问题描述
0. 1. 2. 3
2. 3. 5. 9
5. 1. 0. 3
对于列 1,2,3
- 我希望每一行的值是较高列的总和
所以新的 df 将是:
0. 1. 2. 3
2. 17 14. 9
5. 4. 3. 3
最好的方法是什么?
解决方法
L = [1,2,3]
df[L[::-1]] = df[L[::-1]].cumsum(axis=1)
print (df)
0 1 2 3
0 2.0 17.0 14.0 9.0
1 5.0 4.0 3.0 3.0
,
让我们在恢复列 cumsum
后沿着 axis=1
尝试 1,3
:
c = [1,3]
df.loc[:,c] = df.loc[:,c[::-1]].cumsum(axis=1)
0 1 2 3
0 2 17 14 9
1 5 4 3 3