domingo, 19 de abril de 2020

Somatório com NumPy

Somatório com NumPy


Qual é a diferença entre o somatório e a adição? Com o somatório um número infinitos de elementos podem ser somados, diferente da adição que soma apenas dois elementos.
Exemplo
import numpy as np

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

matriz = np.add(array1, array2)

print(matriz)
Nesse exemplo temos a soma dos números na vertical, como se fosse uma tabela. Por isso o resultado é uma matriz com os elementos 5, 7 e 9. No somatório todos os elementos são somados.
Para realizar uma somatória de todos os elementos de uma matriz a biblioteca numpy disponibiliza a função sum. A função sum soma todos os elementos da matriz passada como argumento e retorna o resultado da soma dos elementos de todas as matrizes.
Exemplo
import numpy as np

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

matriz = np.sum([array1, array2])

print(matriz)
A função sum, por padrão, soma todos os elementos de uma matriz. Para mudar esse comportamento podemos passar o argumento axis=1. Assim cada matriz será somada individualmente. E a função sum vai retornar uma matriz com os resultados da soma dos elementos de cada matriz, individualmente.
Exemplo
import numpy as np

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])

matriz = np.sum([array1, array2], axis=1)

print(matriz)

Soma acumulativa

Com a soma acumulativa a soma dos dois últimos elementos são somados com o elemento atual. Por exemplo, na matriz [1, 2, 3] o resultado seria 1, 3 e 6.
Para fazer uma somatória acumulativa a biblioteca numpy disponibiliza a função cumsum. A função cumsum recebe uma lista como argumento e retorna uma lista com a mesma quantidade de elementos da matriz de entrada.
Exemplo
import numpy as np

array = np.array([1, 2, 3])

matriz = np.cumsum(array)

print(matriz)
Cada elemento da matriz resultado é a soma dos dois elementos anteriores na matriz de entrada.

0 comentários:

Postar um comentário