Baixe o material de estudo
Fala, meus consagrados! Beleza?
A biblioteca NumPy é uma das ferramentas mais poderosas da linguagem Python para computação numérica. Um de seus maiores diferenciais está na capacidade de realizar operações aritméticas e estatísticas de forma rápida, vetorizada e altamente eficiente — mesmo em grandes volumes de dados. Isso a torna essencial para aplicações como ciência de dados, bioinformática, engenharia, pesquisas científicas e preparação para concursos técnicos.
Neste artigo, estudaremos como usar o NumPy para realizar operações aritméticas básicas, estatísticas descritivas e funções agregadas, sempre com exemplos práticos que podem ser aplicados em contextos reais.
O NumPy oferece duas formas principais de realizar operações entre elementos de arrays:
- Funções aritméticas explícitas (np.add(), np.subtract(), etc.)
- Operadores matemáticos (+, -, *, etc.)
Ambas as abordagens funcionam de forma vetorizada, ou seja, a operação é aplicada elemento a elemento.
Função | Descrição | Exemplo[1, 2] e [4, 5] | Saída |
np.add(a, b) | Soma elemento a elemento | [1 + 4, 2 + 5] | [5, 7] |
np.subtract(a, b) | Subtrai elemento a elemento | [1 – 4, 2 – 5] | [-3, -3] |
np.multiply(a, b) | Multiplica elemento a elemento | [1 * 4, 2 * 5] | [4, 10] |
np.divide(a, b) | Divide elemento a elemento (retorna float) | [1 / 4, 2 / 5] | [0.25, 0.4] |
np.power(a, b) | Potência: a ^ b por elemento | [1 ^ 4, 2 ^ 5] | [1, 32] |
np.mod(a, b) | Resto da divisão (a % b) | [1 % 4, 2 % 5] | [1, 2] |
np.remainder(a, b) | Igual ao mod() | [1 % 4, 2 % 5] | [1, 2] |
np.divmod(a, b) | Retorna dois arrays: quociente e resto | – | (array([0, 0, 0, 0]), array([1, 2, 3, 4])) |
Exemplo:
import numpy as np
lista1 = [1, 2, 3, 4]
lista2 = [15, 16, 17, 18]
print(np.add(lista1, lista2))
print(np.subtract(lista1, lista2))
print(np.multiply(lista1, lista2))
print(np.divide(lista1, lista2))
print(np.power(lista1, lista2))
print(np.mod(lista1, lista2))
print(np.remainder(lista1, lista2))
print(np.divmod(lista1, lista2))
Resultado da execução:
[16 18 20 22]
[-14 -14 -14 -14]
[15 32 51 72]
[0.06666667 0.125 0.17647059 0.22222222]
[ 1 65536 129140163 68719476736]
[1 2 3 4]
[1 2 3 4]
(array([0, 0, 0, 0]), array([1, 2, 3, 4]))
A função np.absolute() usaria uma variável lista3, mas ela não foi declarada no código fornecido.
Exemplo:
import numpy as np
lista = [-1, -2, 3, 4]
print(np.absolute(lista))
Resultado da execução:
[1 2 3 4]
Temos também outra forma de usar operações aritméticas usando os próprios operadores. Vejam o código abaixo:
import numpy as np
arrei1 = np.array([1, 2, 3, 4])
arrei2 = np.array([15, 16, 17, 18])
print(arrei1 + arrei2)
print(arrei1 – arrei2)
print(arrei1 * arrei2)
print(arrei1 / arrei2)
print(arrei1 ** arrei2)
print(arrei1 % arrei2)
Resultado da execução:
[16 18 20 22]
[-14 -14 -14 -14]
[15 32 51 72]
[0.06666667 0.125 0.17647059 0.22222222]
[ 1 65536 129140163 68719476736]
[1 2 3 4]
Além disso, temos outras operações com NumPy. As funções sum(), diff() e prod() permitem realizar cálculos matemáticos fundamentais com extrema eficiência. O uso de eixos (axis) e operações acumuladas torna essas ferramentas ainda mais poderosas em análises numéricas.
A função np.sum() calcula a soma de todos os elementos de um array ou matriz, enquanto np.cumsum() retorna as somas parciais acumuladas.
Exemplo:
import numpy as np
lista1 = [1, 2, 3, 4]
lista2 = [15, 16, 17, 18]
# Soma total de todos os elementos combinados
print(np.sum([lista1, lista2]))
# Saída: 76
# Soma por linha (eixo 1)
print(np.sum([lista1, lista2], axis=1))
# Saída: [10 66]
# Soma acumulada de lista1
print(np.cumsum(lista1))
# Saída: [ 1 3 6 10]
Aplicações: cálculos financeiros, totais de vendas, monitoramento de indicadores ao longo do tempo.
A função np.diff() calcula a diferença discreta entre elementos consecutivos de um array. Pode-se também definir o número de vezes que a operação será aplicada com o parâmetro n.
Exemplo:
import numpy as np
lista = [10, 15, 25, 5]
# Primeira ordem: diferenças entre elementos consecutivos
print(np.diff(lista))
# Saída: [ 5 10 -20]
# Segunda ordem: diferenças entre as diferenças
print(np.diff(lista, n=2))
# Saída: [ -5 -30]
Aplicações: análise de tendências, taxas de variação, velocidade de crescimento ou queda.
A função np.prod() retorna o produto de todos os elementos e np.cumprod() retorna os produtos parciais acumulados. Também é possível aplicar o produto em um eixo específico.
Exemplo:
import numpy as np
lista1 = [1, 2, 3, 4]
lista2 = [15, 16, 17, 18]
# Produto total de lista1
print(np.prod(lista1))
# Saída: 24
# Produto acumulado
print(np.cumprod(lista1))
# Saída: [ 1 2 6 24]
# Produto de todos os elementos das duas listas
print(np.prod([lista1, lista2]))
# Saída: 1762560
# Produto por lista (linha)
print(np.prod([lista1, lista2], axis=1))
# Saída: [ 24 73440]
Aplicações: juros compostos, cálculos de crescimento exponencial, engenharia e simulações.
Espero que tenham gostado!
Forte abraço e até a próxima jornada!
_________________________
Professor Rogerão Araújo
Fonte: Gran Cursos Online