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.