python - 使用以逗号作为小数分隔符的 pandas 样式
问题描述
我想使用熊猫风格,并使用逗号作为小数分隔符。
以这个数据框为例:
tb = pd.DataFrame({"Variable": [5, 4.5, 4.8, 4.7], "std_err": [1, .06, .09, .17]},
index = ['Group A', 'Group B', 'Group C', 'Group D'])
多变的 | 标准错误 | |
---|---|---|
A组 | 5.0 | 1.00 |
B组 | 4.5 | 0.06 |
C组 | 4.8 | 0.09 |
D组 | 4.7 | 0.17 |
我试过这个:
locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8')
pd.set_option("float_format", locale.str)
tb = pd.DataFrame({"Variable": [4.9853, 4.5345, 4.8542, 4.7234],
"std_err": [.9234, .0676, .0917, .1784]},
index = ['Group A', 'Group B', 'Group C', 'Group D'])
tb.style.bar()
但我希望看到逗号作为小数分隔符和样式栏,而不是我有一个用样式格式化的表格,但忽略了语言环境。
我可以两者兼得吗?使用样式(条形、颜色等)格式化并使用逗号作为小数分隔符的表格?
解决方案
最直接的解决方法是指定 的decimal
参数Styler.format
:
tb.style.format(decimal=',').bar()
其他替代方法包括formatter
将locale.str
locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8')
tb.style.format(formatter=locale.str).bar()
locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8')
tb.style.format(
formatter=lambda x: locale.format_string('%.6f', x)
).bar()
推荐阅读
- java - 如何在 JMeter 中修复 java.io.NotSerializableException: org.apache.jmeter.JMeter$ListenToTest?
- python - 循环字典,但也在 Python 中更新它
- python - SQLite 的分页
- saml - 如何从 ping federate open Token 获取信息
- ssl - Sublime 2 安装包失败,出现 SSL 异常 tlsv1alert
- laravel - 从 Laravel 中的 db 获取一项
- php - 表单成功后重定向到特定页面
- javascript - Chart.js 仅在我在 Chrome 上进行调试时绘制
- c++ - 为什么 12.0 == 11.999999999999999999999 被认为是真的?
- php - 为什么作曲家安装后在“bin”中找不到或重新创建 bin/console 脚本?