Введение
В этом руководстве будет представлена концепция broadcasting в библиотеке NumPy. Broadcasting - это метод выполнения математических операций над массивами различных размерностей.
Советы по работе с ВМ
После завершения запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Сложение двух одномерных массивов одинаковой формы
import numpy as np
a = np.array([1,2,3,4])
b = np.array([2,7,8,9])
c = a+b;
print(c)
Результат будет: [ 3 9 11 13]
Попытка сложить два одномерных массива с разными формами
import numpy as np
a = np.array([4,5,6,7])
b = np.array([1,3,5,7,9,11,14])
c = a+b;
Это вызовет ошибку, потому что нельзя выполнять операции над массивами с разными формами.
Использование передачи (broadcasting) для сложения двух одномерных массивов с разными формами
import numpy as np
a = np.array([4,5,6,7])
b = np.array([10])
c = a+b;
print(c)
В этом случае будет выведено [14 15 16 17], так как массив b распространяется (broadcast) по массиву a.
Передача (broadcasting) одномерного массива в двумерный массив
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([10, 20, 30])
print(a + b)
Результат будет:
[[11 22 33]
[14 25 36]]
Одномерный массив распространяется (broadcast) по второй оси двумерного массива и добавляется к каждой колонке.
Умножение массивов различных размерностей
import numpy as np
a = np.array([1, 2, 3])
b = np.array([[4, 5, 6], [7, 8, 9]])
print(a * b)
Результат будет:
[[ 4 10 18]
[ 7 16 27]]
Одномерный массив распространяется (broadcast) по первой оси двумерного массива и умножается на каждую строку.
Резюме
В этом уроке мы рассмотрели концепцию передачи (broadcasting) в библиотеке NumPy. Передача (broadcasting) - это метод выполнения математических операций над массивами различных размерностей. Мы также показали, как работает передача (broadcasting) при сложении и умножении массивов. Следует отметить, что передача (broadcasting) может быть выполнена только в том случае, если массивы удовлетворяют определенным условиям. Передача (broadcasting) происходит только в том случае, если это не приводит к потере информации.