求教 Pandas 中,怎么控制 DataFrame 中浮点数精度的同时保留末尾的 0?

2017-12-28 17:55:58 +08:00
 youthfire
我的期望是,对于某列价格,既保留 2 位小数,都同时能显示出末尾的 0。

对于序列,控制具体数的 X = decimal.Decimal('%.2f' % X),显然不能起作用
网上查到的 pd.options.display.float_format = '${:,.2f}'.format,似乎没有任何作用。

DataFrame 中相关 series 目前就是保留 2 位小数,但浮点数都没有 0
意思是 2.00 显示为 2,1.90 ,显示为 1.9。
我希望所有浮点数列为 2.00 ,1.90 ,这样整齐的一列。求教正确语法。
12162 次点击
所在节点    Python
2 条回复
youthfire
2017-12-28 21:24:00 +08:00
找到变相解决的方法。

https://pypi.python.org/pypi/tabulate

利用 tabulate 的 floatfmt 参数完美解决,比 pandas 自带的控制输出能力强太多,还解决了 print 输出时不整齐的问题
ryd994
2017-12-29 02:11:34 +08:00
%0.2f
c printf 语法
其次,对于价格,最好不要使用浮点数,直接使用整数到分。浮点数的运算取整不知道什么时候会坑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/418377

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX