python - 使用 Pandas,如何使用 float_format 修复 .sum().sum() 的格式
问题描述
我将以下 csv 作为数据框读取:
>>> test=pd.read_csv('C:/Temp/test.csv')
>>> test
a b c
0 1.1 2.2 3.3
1 3.0 4.0 5.0
我想把所有这些数字加起来,显示为货币。我认为最有效的方法是使用.sum().sum()
方法。
>>> pd.set_option('display.float_format','${:,.2f}'.format)
>>> test
a b c
0 $1.10 $2.20 $3.30
1 $3.00 $4.00 $5.00
>>> test.sum()
a $4.10
b $6.20
c $8.30
dtype: float64
>>> test.sum().sum()
18.6
我想要的格式化选项适用于数据框和第一个总和;但是总和的总和不使用格式,即使数据类型仍然是浮点数:
>>> test.sum().sum().dtype
dtype('float64')
>>> test.sum().dtype
dtype('float64')
我该如何解决?
解决方案
的输出test.sum().sum()
是一个标量,因此它不应用 pandas 格式选项。要格式化这种类型的数据,您可以使用标准的 pythonformat
函数:
"${:,.2f}".format(df.sum().sum())
推荐阅读
- php - Lumen 根据请求选择特定文件作为默认路由器
- c# - tensorflow批量归一化冻结
- visual-studio-2017 - 如何使解决方案资源管理器仅搜索文件名
- angular - Angular Universal 和 Guards 问题
- php - 类属性注解
- ios - 如何在 Xcode 10 中设置对象的高度和宽度?如果我们设置值,它表示固定约束可能会导致剪裁
- python - import cv2 在 IDLE 上工作,但在命令提示符下出错
- java - Java SWT:是否存在具有多个日期选择的日历小部件?
- delphi - Indy 10. 如何一次发送多个命令?
- c# - 更改 WPF 中的元素集