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

How do I show small numbers with scientific notation in Pandas Dataframe Python?

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

小数四舍五入为0.0

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

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

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

您可以设置整个数据框的格式:

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

或单独设置每列的格式:

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