dataframe中的数据清洗问题(二)

cashflow是一个dataframe,其中有三列分别为A、B、C,三列的数据类型均为float或空白。现要计算三列数据额之和。

#将空白项填充为0
cashflow[['A','B',‘C']].fillna(0,inplace=True)

#计算fcfe
fcfe=cashflow['A']+cashflow['B']+cashflow['C']

print('FCFE='+str(fcfe))

结果为:

img

请问我已经把数据中的空白项调整为0,为什么计算之后结果为NaN?
我要的显示效果是“FCFE=计算结果” 为什么图中的显示格式和我要的不一样?
如果计算结果的数字太长,如何在编辑器中显示完整数字而不是科学计数的结果?
谢谢!

第一个问题
如果把所有的nan 都替换为0
就这样

cashflow.fillna(0,inplace=True)

如果只是把A,B,C三列替换,就这样

cashflow.fillna(value={'A':0,'B':0,'C':0},inplace=True)

第二个问题,不明白, 是要生成一个新列吗? 还是要所有的合计数?

计算加法的时候不用fillna也行。如果你想求分列和,那就ser=df['a','b','c'].sum(), 求总和s=df['a','b','c'].sum().sum()