给定列列表的 pandas 数据框的求和值

Summing values of a pandas data frame given a list of columns

给定如下数据框:

x1 x2 x3 x4 x5 x6
1  2  3  4  5  6
3  4  5  6  3  3
1  2  3  6  1  2 

我如何创建一个新的 'sum' 列,只添加 x1 + x3 + x4

x1 x2 x3 x4 x5 x6
1  2  3  4  5  6
3  4  5  6  3  3
1  2  3  6  1  2 

在我的实际数据框中,我有大约 100 列,所以有没有一种方法可以做到这一点而不必手动编写 x1 + x3 + ... + xn

例如给定一个列表 [x1, x3, x4.. xn] df['sum'] = sum(df[列表]) ? 任何帮助表示赞赏,谢谢。

您可以使用 dfsum 的子集:

print df
   x1  x2  x3  x4  x5  x6
0   1   2   3   4   5   6
1   3   4   5   6   3   3
2   1   2   3   6   1   2

print df[['x1', 'x3', 'x4']]
   x1  x3  x4
0   1   3   4
1   3   5   6
2   1   3   6

li =  ['x1', 'x3', 'x4']
print df[li]
   x1  x3  x4
0   1   3   4
1   3   5   6
2   1   3   6

print df[li].sum()
x1     5
x3    11
x4    16
dtype: int64

print df[li].sum(axis=1)
0     8
1    14
2    10
dtype: int64