我想乘的int16
阵列但float
阵列,具有自动四舍五入,但这种失败:乘numpy的int和float数组
import numpy
A = numpy.array([1, 2, 3, 4], dtype=numpy.int16)
B = numpy.array([0.5, 2.1, 3, 4], dtype=numpy.float64)
A *= B
我得到:
TypeError: Cannot cast ufunc multiply output from dtype('float64') to dtype('int16') with casting rule 'same_kind'
看起来''numpy.multiply(A,B,out = A,cast ='unsafe')''是可能的,但语法要长很多! 默认情况下有没有办法在numpy中设置casting ='unsafe'? – Basj
查看https://github.com/numpy/numpy/pull/6499/files – Basj