domingo, 19 de abril de 2020

Produto e diferença com NumPy

Produto e diferença com NumPy


Produto

Para descobrir qual é o produto dos elementos de uma matriz podemos utilizar a função prod da biblioteca numpy.
Exemplo
import numpy as np

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

matriz = np.prod(array)

print(matriz)
Com esse exemplo o resultado será seis, porque 1*2*3 é igual a 6.
A função prod também pode receber uma lista com matrizes.
Exemplo
import numpy as np

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

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

print(matriz)
Nesse exemplo o resultado é 720, pois 1*2*3*4*5*6 é igual 720. Todos os elementos das duas matrizes são multiplicados, como se fossem apenas uma matriz. Também é possível multiplicar apenas os elementos de cada matriz individualmente com o parâmetro axis=1.
Exemplo
import numpy as np

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

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

print(matriz)
Nesse exemplo, o retorno é uma lista com o resultado da multiplicação das duas matrizes individualmente. O primeiro valor da lista de retorno é o resultado da multiplicação dos elementos da primeira matriz e o segundo valor é o resultado da multiplicação dos elementos da segunda matriz.

Produto acumulativo

Para trabalhar com produto acumulativo a biblioteca numpy disponibiliza a função cumprod. A função cumprod vai receber uma matriz e retornar uma matriz com o mesmo numero de elementos da matriz que receber. Cada elemento dessa matriz é o produto acumulado dos elementos anteriores. Por exemplo, na lista [1, 2, 3, 4], o resultado seria uma matriz com os valores 1, 2, 6 e 24.
Exemplo
import numpy as np

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

matriz = np.cumprod(array)

print(matriz)

Diferença

Na biblioteca numpy temos a função diff. A função diff retorna uma lista com o resultado da diferença entre um elemento e o seu antecessor, com exceção do primeiro elemento. Por exemplo, a diferença entre os elementos da lista [1, 2, 3, 4] é [1, 1, 1]. Isso porque 2-1=1, 3-2=1 e 4-3=1.
Exemplo
import numpy as np

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

matriz = np.diff(array)

print(matriz)
Também podemos pegar o resultado da diferença e tirar a diferença. Por exemplo, no exemplo anterior o resultado da diferença foi [1, 1, 1]. E se quiséssemos tirar a diferença desse resultado? Simples. Precisaríamos apenas adicionar o parâmetro n=2 na função diff.
Exemplo
import numpy as np

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

matriz = np.diff(array, n=2)

print(matriz)
O resultado desse exemplo é [0, 0] pois 1-1=0, 1-1=0.

0 comentários:

Postar um comentário