gpt4 book ai didi

python - 是否有一个 python 模块可以将值和错误转换为科学记数法?

转载 作者:行者123 更新时间:2023-11-30 23:35:44 24 4
gpt4 key购买 nike

假设我有两个数字,v = 0.01342err = 0.0004。在科学记数法下,这将写为(13.4 ± 0.4)e-3。是否有一个函数可以进行这种转换(可能在 scipy 上)?当然,重要的是数字而不是±符号。在网上搜索,我了解到有(有?)函数可以吃一个要转换的数字和一些所需的数字,然后它们吐出结果。这不是我要寻找的。我曾经写过一次,但结果很丑陋。

最佳答案

我不明白你最后几行的意思,但是当你有像你这样的特定输出时,你通常必须编写自己的输出。

def sci_not(v,err,rnd=1):
power = - int(('%E' % v)[-3:])+1
return '({0} +/- {1})e{2}'.format(
round(v*10**power,rnd),round(err*10**power,rnd),power)

这样就可以了

>>> v = .01342
>>> err = .0004
>>> sci_not(v,err)
(13.4 +/- 0.4)e3

编辑:如果您将字符串设置为unicode,则可以输入±字符,但只有当您使用打印语句时,结果才会看起来很漂亮。

将之前的 return 语句替换为

return u'({0} \u00B1 {1})e{2}'.format(
round(v*10**power,rnd),round(err*10**power,rnd),power)

这会返回

>>> sci_not(v,err)
u'(13.4 \xb1 0.4)e3'
>>> print sci_not(v,err)
(13.4 ± 0.4)e3

关于python - 是否有一个 python 模块可以将值和错误转换为科学记数法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17088510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com