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
我有一个数据框:
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