我正在尝试使用DataFrame.to_markdown包含我想要四舍五入的浮点值的数据框。如果没有to_markdown(),我可以设置pd.options.display.float_format并且一切正常,但to_markdown似乎不尊重该选项。
重现:
import pandas as pd
df = pd.DataFrame([[1, 2, 3], [42.42, 99.11234123412341234, -23]])
pd.options.display.float_format = '{:,.0f}'.format
print(df)
print()
print(df.to_markdown())
Run Code Online (Sandbox Code Playgroud)
输出:
0 1 2
0 1 2 3
1 42 99 -23
| | 0 | 1 | 2 |
|---:|------:|--------:|----:|
| 0 | 1 | 2 | 3 |
| 1 | 42.42 | 99.1123 | -23 |
Run Code Online (Sandbox Code Playgroud)
(将表中的 42.42 和 99.1123to_markdown与普通旧 df 中的 42 和 99 进行比较)
这是一个错误还是我缺少有关如何使用的信息to_markdown?
看起来 pandas 使用tabulate来进行这种格式化。如果已安装,您可以使用类似以下内容:
df.to_markdown(floatfmt=".0f")
Run Code Online (Sandbox Code Playgroud)
输出:
| | 0 | 1 | 2 |
|---:|----:|----:|----:|
| 0 | 1 | 2 | 3 |
| 1 | 42 | 99 | -23 |
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2186 次 |
| 最近记录: |