Introdução
Este tutorial apresentará o conceito de broadcasting na biblioteca NumPy. Broadcasting é um método para realizar operações matemáticas em arrays de várias dimensões.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Adicionando Dois Arrays 1D da Mesma Forma
import numpy as np
a = np.array([1,2,3,4])
b = np.array([2,7,8,9])
c = a+b;
print(c)
A saída será: [ 3 9 11 13]
Tentando Adicionar Dois Arrays 1D com Formas Diferentes
import numpy as np
a = np.array([4,5,6,7])
b = np.array([1,3,5,7,9,11,14])
c = a+b;
Isso produzirá um erro porque você não pode realizar operações em arrays com formas diferentes.
Usando Broadcasting para Adicionar Dois Arrays 1D com Formas Diferentes
import numpy as np
a = np.array([4,5,6,7])
b = np.array([10])
c = a+b;
print(c)
Isso produzirá a saída [14 15 16 17] já que o array b está sendo transmitido (broadcast) sobre o array a.
Broadcasting de um Array 1D em um Array 2D
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([10, 20, 30])
print(a + b)
A saída será:
[[11 22 33]
[14 25 36]]
O array 1D é transmitido (broadcast) sobre o segundo eixo do array 2D e adicionado a cada coluna.
Multiplicação de Arrays com Dimensões Diferentes
import numpy as np
a = np.array([1, 2, 3])
b = np.array([[4, 5, 6], [7, 8, 9]])
print(a * b)
A saída será:
[[ 4 10 18]
[ 7 16 27]]
O array 1D é transmitido (broadcast) sobre o primeiro eixo do array 2D e multiplicado a cada linha.
Resumo
Neste tutorial, abordamos o conceito de broadcasting na biblioteca NumPy. Broadcasting é um método para realizar operações matemáticas em arrays de várias dimensões. Também demonstramos como o broadcasting funciona através da adição e multiplicação de arrays. É importante notar que o broadcasting só pode ser feito se os arrays satisfizerem certas condições. O broadcasting só ocorre se não levar à perda de informação.