J. *_*ton 5 python data-analysis pandas
给定一个数据框,如下所示:
x1 x2 x3 x4 x5 x6
1 2 3 4 5 6
3 4 5 6 3 3
1 2 3 6 1 2
Run Code Online (Sandbox Code Playgroud)
我如何创建一个新的“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
Run Code Online (Sandbox Code Playgroud)
在我的实际数据框中,我有大约 100 列,所以有没有办法做到这一点而不必手动编写 x1 + x3 + ... + xn
例如,给定一个列表 [x1, x3, x4.. xn] df['sum'] = sum(df[list]) ?任何帮助表示赞赏,谢谢。
您可以使用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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6848 次 |
| 最近记录: |