我有以下数据框:
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
答案 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)