如何总结Pandas数据框中的所有数值以产生一个值

时间:2015-08-27 02:13:47

标签: python pandas

我有以下数据框:

import pandas as pd
source_df = pd.DataFrame({ 'gene':["foo","bar","qux","woz"], 'cell1':[5,9,1,7], 'cell2':[12,90,13,87]})
source_df = source_df[["gene","cell1","cell2"]]

看起来像这样:

In [132]: source_df
Out[132]:
  gene  cell1  cell2
0  foo      5     12
1  bar      9     90
2  qux      1     13
3  woz      7     87

我想要做的是将所有数值相加,这应该产生一个值

224

该怎么做?

我尝试了这个,但改为给出两个值:

In [134]: source_df.sum(numeric_only=True)
Out[134]:
cell1     22
cell2    202
dtype: int64

2 个答案:

答案 0 :(得分:4)

您需要再次致电sum()。示例 -

In [5]: source_df.sum(numeric_only=True).sum()
Out[5]: 224

答案 1 :(得分:1)

由于source_df.sum(numeric_only=True)返回一系列总和,您可以简单地将返回系列中的所有值与另一个总和()相加:

source_df.sum(numeric_only=True).sum()

输出产生一个值:

224

或者,您可以手动循环并累计总计

total = 0
for v in source_df.sum(numeric_only=True):
    total += v
print(total)