cashflow是一个dataframe,其中有三列分别为A、B、C,三列的数据类型均为float或空白。现要计算三列数据额之和。
#计算fcfe
fcfe=cashflow['A']+cashflow['B']+cashflow['C']
print(fcfe) 结果如下图:
print(type(fcfe)) 结果如下图:
请问如何用decimal将图中的计算结果转换为完整数字?谢谢!
这样能得到你想要结果吗?
print(Decimal(sum(cashflow['A']+cashflow['B']+cashflow['C'])).quantize(Decimal('0.00')))
由于你给的信息不是很完整,我暂且只能按照给出的信息理解:
fcfe=cashflow['A']+cashflow['B']+cashflow['C']
这句代码相加得到的是一个对象,也就是3个列的对象,这也是面向对象的思想。
所以你的显示出来,只会显示一个类名,并不是一个数字,相当于执行的是fcfe.ToString()函数。
如果你需要计算3列的和然后在相加,应该先算每一列的总和再相加。
这应该是一个二维表的概念:
| A | B | C |
| 1 | - | 5 |
| 2 | 5 | 2 |
| 5 | 5 | - |
循环计算A列的值,cashflow['A'][0]+cashflow['A'][1]+cashflow['A'][2],有列和行的概念。
当然根据不同的框架可能会有cashflow['A'].Sum()之类的函数,意思是计算这一列所有值的和。