【问题标题】:reduce accuracy of long small numbers in scientific notation降低科学计数法中长小数的准确性
【发布时间】:2020-05-13 20:16:07
【问题描述】:

对于 python/pandas 中的浮点值,例如: 3.848326e-15

在科学计数法中,如何降低显示的准确性: 3.85e-15

即四舍五入到 2 位数(科学计数法后缀除外)

普通的df['value'].round(2) 将所有值四舍五入为 0 - 这不是我想要的。

【问题讨论】:

  • 你想要什么?只是为了显示 3.85e-15,但保持内在的实际价值(3.848326e-15)还是真的只是“四舍五入”到3.85e-15

标签: python pandas floating-point rounding scientific-notation


【解决方案1】:

你可以这样做:

'{:0.2e}'.format(3.848326e-15)

结果:

'3.85e-15'

获得浮动的解决方法:

float('{:0.2e}'.format(3.848326e-15).strip("'"))

结果:

3.85e-15

【讨论】:

  • 好吧,结果是一个字符串,可能不是 OP 想要的
  • 如果您的模板只包含一个占位符而没有其他内容,通常更容易丢弃模板并直接使用format 内置函数format(3.848326e-15, ".2e") . (它也可能更快,这通常不是主要问题。)
猜你喜欢
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
相关资源
最近更新 更多