给定列列表的 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[列表])
?
任何帮助表示赞赏,谢谢。
您可以使用 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
给定如下数据框:
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[列表]) ? 任何帮助表示赞赏,谢谢。
您可以使用 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