Resumo da atividade com NumPy
Por Ricardo Costa Val do Rosário e Microsoft Copilot
Enunciado:
Você começou os seus estudos com a biblioteca Numpy e resolveu utilizá-la para substituir
um cálculo que estava sendo realizado com listas do Python. A lista que você tem em mãos é igual a:
x = [0,1,2,3,4,5,6,7,8,9,10]
Essa lista estava sendo utilizada para calcular os diversos valores de y na equação y = x + 3 / 2.
Como ficaria o código em Numpy para substituir o seguinte trecho de código?
x = [0,1,2,3,4,5,6,7,8,9,10]
y = []
for i in x:
y.append(i + 3 / 2)
Dica:
Execute o código acima antes e verifique os valores nas variáveis x e y com a função print() para comparar
os resultados do array.
RESPOSTA PASSO A PASSO
PASSO 1
x = [0,1,2,3,4,5,6,7,8,9,10]
y = []
for i in x:
y.append(i + 3 / 2)
PASSO 2 - Aqui está o que acontece:
A lista x contém os números de 0 a 10.
O loop percorre cada elemento i em x.
A expressão i + 3 / 2 é avaliada como i + 1.5, já que 3 / 2 = 1.5.
Cada resultado é adicionado à lista y.
Resultado final da lista y:
[1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5]
Transformamos o código em Python que calculava os valores de y = x + 3 / 2
usando listas e for
,
em uma versão mais eficiente com NumPy:
Passo 3 - código completo com a verificação dos valores usando print():
x = [0,1,2,3,4,5,6,7,8,9,10]
y = []
for i in x:
y.append(i + 3 / 2)
print("Valores de x:", x)
print("Valores de y:", y)
Passo 4 - Quando você executar esse código, verá:
Valores de x: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Valores de y: [1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5]
Passo 5 - versão mais compacta e elegante com NumPy:
import numpy as np
x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y = x + 3 / 2
print("Valores de x:", x)
print("Valores de y:", y)
Passo 6 - O que mudou:
- Criamos o array x usando np.array(), que permite operações vetoriais.
- A expressão x + 3 / 2 é aplicada diretamente a todos os elementos do array, sem precisar de loop!
- Resultado: mais limpo, mais rápido e muito mais "Pythonic".
Passo 7 - Resultado de y:
[ 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5]
Passo 8 - Resumo da atividade com NumPy
Transformamos o código em Python que calculava os valores de y = x + 3 / 2
usando
listas e for
, em uma versão mais eficiente com NumPy:
import numpy as np
x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
y = x + 3 / 2
print("Valores de x:", x)
print("Valores de y:", y)
Passo 9 - CONSIDERAÇÕES FINAIS
Vantagens do uso do NumPy:
- Código mais simples e legível.
- Operações vetoriais diretas, sem loop.
- Resultado mais rápido e eficiente para manipulação numérica.
Saída esperada:
Valores de x: [ 0 1 2 3 4 5 6 7 8 9 10]
Valores de y: [ 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 10.5 11.5]