Я хотел бы Умножая int16
массив, но в float
массив, с автоматическим округлением, но это не удается:Умножить Numpy ИНТ и поплавок массивы
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, casting = 'unsafe')', но это намного более синтаксис! Есть ли способ установить casting = 'unsafe' в numpy по умолчанию? – Basj
См. Https://github.com/numpy/numpy/pull/6499/files – Basj