numpy.multiply()
Функция numpy.multiply() выполняет поэлементное умножение двух массивов. Эквивалентна оператору * для ndarray. Не путать с матричным умножением (np.matmul или @).
Сигнатура
numpy.multiply(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None)
Параметры
x1,x2— массивы-сомножители (с поддержкой broadcasting).out— массив для результата.where— маска применения.dtype— тип результата.
Возвращает
ndarray поэлементных произведений.
Пример 1. Умножение векторов
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.multiply(a, b))
[ 4 10 18]
Пример 2. Эквивалент оператора *
import numpy as np
a = np.array([1, 2, 3])
print(a * 10)
[10 20 30]
Broadcasting: скаляр умножается на каждый элемент.
Пример 3. Конвертация ADC в напряжение
import numpy as np
# Отсчёты с 10-битного АЦП Arduino, Vref = 5.0 В
adc = np.array([0, 256, 512, 768, 1023])
volts = np.multiply(adc, 5.0 / 1023)
print(np.round(volts, 3))
[0. 1.251 2.503 3.754 5. ]
Пример 4. Поэлементное умножение матриц
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[2, 0], [0, 2]])
print(np.multiply(A, B))
[[2 0]
[0 8]]
Это не матричное произведение — каждая пара A[i,j] и B[i,j] умножается отдельно.
Пример 5. Broadcasting строки на матрицу
import numpy as np
data = np.array([[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0]])
weights = np.array([0.1, 0.5, 1.0])
print(np.multiply(data, weights))
[[0.1 1. 3. ]
[0.4 2.5 6. ]]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.