为什么numpy.power对小指数返回0,而math.pow则返回正确的答案?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)
In [25]: np.power(10,-100)
Out[25]: 0

In [26]: math.pow(10,-100)
Out[26]: 1e-100

我希望这两个命令都返回1e-100。这也不是一个精度问题,因为即使在将精确度提高到500之后,这个问题仍然存在。

提问于
用户回答回答于

如下:

In [2]: numpy.power(10,-1)   
Out[2]: 0

但这是对正在发生的事情的一个提示:10is an integer, andnumpy.powerdoesn't coerce the numbers to floats.。

下面是可行的:

In [3]: numpy.power(10.,-1)
Out[3]: 0.10000000000000001

In [4]: numpy.power(10.,-100)
Out[4]: 1e-100

这样:

In [5]: 10**-1
Out[5]: 0.1
用户回答回答于

numpy方法假设您希望返回整数,因为您提供了一个整数。

np.power(10.0,-100) 

扫码关注云+社区