numpy中的负无穷大和负零

时间:2016-03-17 08:51:21

标签: python numpy

这更像是一个普遍的理解问题

a = np.array([-0, 5, 0]).astype(float)
b = 1 / a
print b

返回[ inf 0.2 inf]

但是

a = np.array([-0.0, 5, 0])
b = 1 / a
print b

返回[-inf 0.2 inf]

我希望第一个元素也能为第一个元素返回-inf,为什么不呢?

1 个答案:

答案 0 :(得分:4)

大多数机器上的整数没有负零概念,因此-0只是0。由于您在强制转换之前从整数构建数组,因此得到[0.0, 5, 0.0]

In [2]: np.array([-0, 5, 0]).astype(float)
Out[2]: array([ 0.,  5.,  0.])