2024-04-27 00:21:48 发布
网友
我从一个数据集中加载了2个值。在
x1=5.904e-16
以及
虽然这些数字很小,但我只想把它们平均。在
avg = 1/2*(x1+x2)
但平均值=0
啊!在
我假设您使用的是python2。在
当两个参数都是整数时,python2使用整数除法,这意味着结果也将是整数。例如:
print 1/2 # 0 print 5/2 # 2
为了克服这个问题,要么使用float等价物(0.5),要么将除法的一个参数(或者1或{})更改为float,这样它也将返回一个float。在
0.5
1
你也可以,如nneonneo mentioned,把总和直接放入除法中,如下所示:
(x1+x2)/2.0
这也会产生期望的结果。在
avg = 0.5*(x1+x2)
工作是因为在python中1/2显然不等于0.5,但是没有,它认为1/2是1除以2,也没有超过小数点的值,所以它假设您不关心想要这个值。在
我假设您使用的是python2。在
当两个参数都是整数时,python2使用整数除法,这意味着结果也将是整数。例如:
为了克服这个问题,要么使用float等价物(})更改为float,这样它也将返回一个float。在
^{pr2}$0.5
),要么将除法的一个参数(或者1
或{你也可以,如nneonneo mentioned,把总和直接放入除法中,如下所示:
这也会产生期望的结果。在
工作是因为在python中1/2显然不等于0.5,但是没有,它认为1/2是1除以2,也没有超过小数点的值,所以它假设您不关心想要这个值。在
相关问题 更多 >
编程相关推荐