给出如下数据框:
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]) ? 任何帮助表示感谢,谢谢。
答案 0 :(得分:1)
您可以使用df
和sum
的子集:
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