pandas dataframe 如何对每行较大列的所有值求和

pandas dataframe how to sum all value of bigger columns per row

我有一个数据框:

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

最好的方法是什么?

反向使用DataFrame.cumsum:

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

让我们在恢复列 1, 2, 3:

之后沿着 axis=1 尝试 cumsum
c = [1, 2, 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