Python 数学显著性级别



我从我加载的数据集中有 2 个值。

x1=5.904e-16

x1=1.048576e-14

当然,这些数字很小,但我想做的只是平均它们。

avg = 1/2*(x1+x2)

但这给出 avg = 0

唰!

我假设你使用的是Python 2。

当两个参数都是整数时,Python 2 使用整数除法,这意味着结果也将是一个整数。例如:

print 1/2
# 0
print 5/2
# 2

要克服这个问题,要么使用浮点数等价物(0.5),要么将其中一个参数更改为浮点数的除法(12,没关系),这样它也将返回一个浮点数。

print 1.0/2
# 0.5
print 1/2.0
# 0.5
print 1.0/2.0
# 0.5

正如 nneonneo 所提到的,您也可以将总和直接放入除法中,如下所示:

(x1+x2)/2.0

这也将给出所需的结果。

avg = 0.5*(x1+x2)

工作是因为 Python 中的 1/2 显然不等于 0.5,但不,它将 1/2 视为 1 比 2,并且两者都没有超过小数的值,因此它假设您不关心想要它。

最新更新