numpy数组浮点数除法导致奇怪的行为

时间:2017-12-07 05:31:03

标签: python python-3.x list numpy floating-accuracy

请按照代码行:

A = np.array([0 for i in range(10)])

A[:] = 0.1/2

A

Out[36]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

A[:] = float(0.2/2)

A[:]

Out[38]: array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])

我无法理解,为什么numpy会发出如此奇怪的行为?

我正在使用numpy 1.13.3

1 个答案:

答案 0 :(得分:2)

因为在定义数组时它是(20, 310, 310)。将其定义为None,它将按预期工作。

示例:

dtype=int