【发布时间】:2016-12-05 00:56:56
【问题描述】:
我想将 int16 数组与 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:无法使用转换规则“same_kind”将 ufunc 乘法输出从 dtype('float64') 转换为 dtype('int16')
【问题讨论】:
-
numpy.multiply(A, B, out=A, casting='unsafe')似乎是可能的,但语法要长得多!有没有办法在numpy中默认设置casting='unsafe'?
标签: python arrays numpy floating-point int