在熊猫中使用科学记数法

ost*_*oon 6 formatting numpy pandas

关于如何抑制大熊猫科学记数法,我找到了很多答案,但我如何启用呢?我找到了这个选项,pd.set_option('precision', 2)但它没有将大数字变成科学记数法.

例如,我希望将数字123066.14格式化为1.23E+5.我正在使用a pandas.DataFrame,在导出/打印时设置整列的格式会很有用.

EdC*_*ica 9

好的,我想出来了,你可以使用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
Run Code Online (Sandbox Code Playgroud)

编辑

匹配您想要的输出:

In [79]:
pd.set_option('display.float_format', '{:.2E}'.format)
pd.Series(data=[0.00000001])

Out[79]:
0   1.00E-08
dtype: float64
Run Code Online (Sandbox Code Playgroud)

  • [to_csv`]中有相同的选项(http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html#pandas.DataFrame.to_csv)但这又会影响所有浮动类型 (2认同)
  • 顺便说一句,我发现 `:.2E` 是更好的格式。它使用大写的“E”,同时还确保小数点后 2 位数字。“g”模式将隐藏第二个“0”。 (2认同)