一般来说,关于在 Pandas 中抑制科学记数法存在许多问题
然而,它们似乎都不适用于 to_markdown
函数。例如:
import pandas as pd
df = pd.DataFrame({'val': 3e10}, index=[0]) # print(df) gives 3.000000e+10
pd.set_option('float_format', '{:f}'.format) # print(df) gives 30000000000.000000
然而,df.to_markdown()
仍然会产生
| | val |
|---:|------:|
| 0 | 3e+10 |
如何禁用 to_markdown()
中的科学记数法?
答案 0 :(得分:2)
我在写问题的过程中找到了答案。
df.to_markdown()
uses tabulate 在幕后。因此,我们可以使用 tabulate readme 中提到的 floatfmt
参数来禁用格式:
print(df.to_markdown(floatfmt=''))
收益
| | val |
|---:|--------------:|
| 0 | 30000000000.0 |
答案 1 :(得分:0)
以@dahn 的回答为基础,如果您不想要小数点,请使用以下格式字符串:
print(df.to_markdown(floatfmt='.0f'))