对行和列求和

时间:2015-07-22 12:24:00

标签: python pandas

让我们举例说明以下数据框:

   a  b  d  e
0  1  2  5  8
1  2  3  9  14
2  3  4  1  8

我想将d和e列加在一起,然后将这些数字加在一起。结果 sum = 45。我无法找到一种简单的方法。

2 个答案:

答案 0 :(得分:2)

传递感兴趣列的列表以从您的df中进行子选择,然后调用属性.values以返回np数组,然后您可以使用np.sum来获得您想要的答案:

In [49]:
np.sum(df[['d','e']].values)

Out[49]:
45

或者对于纯粹的熊猫来说,请拨打sum两次:

In [50]:
df[['d','e']].sum().sum()

Out[50]:
45

答案 1 :(得分:0)

如果您有这样的数据集:

matrix = [
...     [1, 2, 3, 4],
...     [5, 6, 7, 8],
...     [9, 10, 11, 12],
... ]

然后

>>> list(zip(*matrix))

给你

[(1, 5, 9), (2, 6, 10), (3, 7, 11), (4, 8, 12)]

反过来可以用索引求和。

它在Python教程中写得很好: https://docs.python.org/3/tutorial/datastructures.html#nested-list-comprehensions