【发布时间】:2015-08-13 08:39:56
【问题描述】:
我找到了很多关于如何在 pandas 中抑制科学记数法的答案,但我该如何启用呢?我找到了pd.set_option('precision', 2) 选项,但它不会将大数转换为科学记数法。
例如,我希望将数字 123066.14 格式化为 1.23E+5。我使用的是pandas.DataFrame,在导出/打印时设置整列的格式会很有用。
【问题讨论】:
标签: numpy pandas formatting
我找到了很多关于如何在 pandas 中抑制科学记数法的答案,但我该如何启用呢?我找到了pd.set_option('precision', 2) 选项,但它不会将大数转换为科学记数法。
例如,我希望将数字 123066.14 格式化为 1.23E+5。我使用的是pandas.DataFrame,在导出/打印时设置整列的格式会很有用。
【问题讨论】:
标签: numpy pandas formatting
好的,我想通了,您可以使用set_option 并将格式字符串传递给选项'display.float_format':
In [76]:
pd.set_option('display.float_format', '{:.2g}'.format)
In [78]:
pd.Series(data=[0.00000001])
Out[78]:
0 1e-08
dtype: float64
编辑
匹配你想要的输出:
In [79]:
pd.set_option('display.float_format', '{:.2E}'.format)
pd.Series(data=[0.00000001])
Out[79]:
0 1.00E-08
dtype: float64
【讨论】:
:.2E 是一种更好的格式。它使用大写字母E,同时还确保小数点后两位数。 g 模式将隐藏第二个0。