Fundamentos de Broadcasting NumPy

Beginner

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.