【问题标题】:Using scientific notation in pandas在 pandas 中使用科学记数法
【发布时间】:2015-08-13 08:39:56
【问题描述】:

我找到了很多关于如何在 pandas 中抑制科学记数法的答案,但我该如何启用呢?我找到了pd.set_option('precision', 2) 选项,但它不会将大数转换为科学记数法。

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

【问题讨论】:

    标签: numpy pandas formatting


    【解决方案1】:

    好的,我想通了,您可以使用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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 2021-06-17
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    相关资源
    最近更新 更多