【发布时间】:2021-12-28 03:30:15
【问题描述】:
在创建后立即在 NumPy 数组上使用 /= 时出现 TypeError:
>>> arr = np.array([1,2,3])
>>> arr /= 2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-89-ff91ab204368> in <module>
----> 1 arr /= 2
TypeError: No loop matching the specified signature and casting
was found for ufunc true_divide
但我可以:
>>> arr = arr / 2
>>> arr
array([0.5, 1, 1.5])
更奇怪的是,在做了上面的事情之后我还能做到:
>>> arr /= 2
>>> arr
array([0.25, 0.5, 0.75])
发生了什么?
【问题讨论】:
-
提示:使用浮点除法前后检查数组的dtype。