抑制 pandas 中 to_markdown() 中的科学记数法

Dah*_*ahn 4 python dataframe pandas

一般来说,关于抑制 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
Run Code Online (Sandbox Code Playgroud)

然而,df.to_markdown()仍然有产出

|    |   val |
|---:|------:|
|  0 | 3e+10 |
Run Code Online (Sandbox Code Playgroud)

如何禁用 中的科学记数法to_markdown()

Dah*_*ahn 9

我在写问题的时候就找到了答案。

df.to_markdown() 在幕后使用表格。因此,我们可以使用表格自述文件floatfmt中提到的参数来禁用格式:

print(df.to_markdown(floatfmt=''))

产量

|    |           val |
|---:|--------------:|
|  0 | 30000000000.0 |
Run Code Online (Sandbox Code Playgroud)

正如 @oneextrafact 在他们的答案中指出的那样,您可以使用floatfmt='.0f'来控制显示的小数位数。