如何在 Pandas Dataframe Python 中使用科学计数法显示小数字?

Posted

技术标签:

【中文标题】如何在 Pandas Dataframe Python 中使用科学计数法显示小数字?【英文标题】:How do I show small numbers with scientific notation in Pandas Dataframe Python? 【发布时间】:2022-01-14 23:47:27 【问题描述】:

我正在使用一个数据框,它在一列上有不同数量级的数字,最大的是 0.315,最小的是 0.xxe-28。 我的问题是,当我显示 pd 数据框时,我得到了这个:

小数舍入为 0.0

我想以科学计数法显示每个数字,例如:3.15e-1、6.55e-28 等。 我怎样才能做到这一点? 谢谢!

编辑: 我发现pd.set_option('display.float_format', ':.2E'.format) 几乎可以解决问题。 问题是现在所有的列都是这种格式:

是否可以使用 set_option 为一列指定格式?

【问题讨论】:

0.000000013 等小数字默认以科学计数法显示。您是否更改了任何 pandas 配置? 嗨,我没有。至少据我所知不是。如果是这种情况,我该如何尝试重置熊猫配置?谢谢 【参考方案1】:

您可以使用以下命令设置整个数据框的格式:

pd.options.display.float_format = ':12.5e'.format

或者单独设置每列的格式:

output = df.to_string(formatters=
    'Coefficient': ':12.4f'.format,
    'P-value': ':12.5e'.format
)
print(output)

【讨论】:

以上是关于如何在 Pandas Dataframe Python 中使用科学计数法显示小数字?的主要内容,如果未能解决你的问题,请参考以下文章

Pandas:如何将 cProfile 输出存储在 pandas DataFrame 中?

如何在 jupyter 中像 pandas Dataframe 一样打印 Pyspark Dataframe

如何在 Pandas 中将 DataFrame 的行迭代为 Series?

如何在 pandas.DataFrame.plot() 中为标题设置字体大小?

python: pandas.DataFrame,如何避免keyerror?

如何以“pickle”以外的 PANDAS-LOADABLE 二进制格式存储“pandas.DataFrame”