在给定列列表的情况下对pandas数据帧的值求和

时间:2016-02-17 17:14:49

标签: python pandas data-analysis

给出如下数据框:

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

e.g。给出一个列表[x1,x3,x4 .. xn]      df [' sum'] = sum(df [list]) ? 任何帮助表示感谢,谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用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