numpy.cumsum() em Python

numpy.cumsum() em Python

Introdução

O NumPy é uma biblioteca Python de alto nível projetada para trabalhar com arrays multidimensionais. Oferece uma ampla gama de funções para manipulação, análise e visualização de dados. Uma das funções mais importantes do NumPy é o numpy.cumsum(), que é usado para calcular a soma cumulativa ao longo de um array.

Esta função é particularmente útil em várias aplicações, incluindo:

* Cálculo de totais acumulados em séries temporais
* Encontrar a distribuição cumulativa de uma variável aleatória
* Computar médias móveis
* Realizar convoluções

Sintaxe

A sintaxe do numpy.cumsum() é a seguinte:

python
numpy.cumsum(array, axis=None, dtype=None, out=None)

Onde:

* array: O array ao longo do qual a soma cumulativa deve ser calculada.
* axis: O eixo ao longo do qual a soma cumulativa deve ser realizada. O valor padrão é None, que calcula a soma cumulativa ao longo do eixo achatado do array.
* dtype: O tipo de dados do array de saída. O valor padrão é None, que retorna um array do mesmo tipo de dados do array de entrada.
* out: Um array opcional no qual armazenar os resultados. Se nenhum array for fornecido, um novo array é criado.

  9 melhores ofertas de SaaS 🤑 para sua empresa agora [Up to 90% OFF]

Parâmetros Adicionais

Além dos parâmetros obrigatórios, o numpy.cumsum() oferece vários parâmetros adicionais para personalizar seu comportamento:

* nanpolicy: Determina como os valores NaN (Not a Number) são tratados. Os valores padrão para nanpolicy são:
* propagate: Propagar valores NaN.
* raise: Gerar uma exceção ValueError se um valor NaN for encontrado.
* omit: Ignorar valores NaN.
* exclusive: Se True, exclui o primeiro elemento do array da soma cumulativa.
* reverse: Se True, calcula a soma cumulativa reversa, começando pelo último elemento do array.

Retorno

O numpy.cumsum() retorna um array com o mesmo formato do array de entrada, contendo a soma cumulativa ao longo do eixo especificado.

Usando o numpy.cumsum()

O numpy.cumsum() é fácil de usar. Aqui estão alguns exemplos para demonstrar seu uso:

  13 cursos on-line para ajudá-lo a se tornar um gerente de produto certificado

Soma Cumulativa ao Longo de um Eixo**

Vamos calcular a soma cumulativa dos elementos de um array de uma dimensão:

python
import numpy as np

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

print(result)

Saída:


[ 1 3 6 10 15]

Soma Cumulativa ao Longo de um Eixo Específico**

Para calcular a soma cumulativa ao longo de um eixo específico, especifique o eixo no parâmetro axis:

python
array = np.array([[1, 2, 3], [4, 5, 6]])
result = np.cumsum(array, axis=0)

print(result)

Saída:


[[1 3 6]
[5 7 9]]

Manipulando Valores NaN**

Por padrão, o numpy.cumsum() propaga valores NaN. Para ignorar valores NaN, use nanpolicy='omit':

python
array = np.array([1, 2, np.nan, 4, 5])
result = np.cumsum(array, nanpolicy='omit')

print(result)

Saída:


[ 1 3 3 7 12]

Conclusão

O numpy.cumsum() é uma função poderosa que permite calcular facilmente a soma cumulativa ao longo de um array multidimensional. Sua versatilidade e parâmetros personalizáveis o tornam uma ferramenta essencial para várias aplicações de processamento de dados.

Perguntas Frequentes

1. Qual é a diferença entre numpy.cumsum() e numpy.sum()?

O numpy.cumsum() calcula a soma cumulativa ao longo de um array, enquanto o numpy.sum() calcula a soma total do array.

2. Como posso calcular a soma cumulativa reversa?

Defina o parâmetro reverse como True ao chamar o numpy.cumsum().

3. Como posso lidar com valores NaN no numpy.cumsum()?

Use o parâmetro nanpolicy para especificar como os valores NaN devem ser tratados.

4. Posso usar o numpy.cumsum() em arrays multidimensionais?

Sim, o numpy.cumsum() pode ser usado em arrays multidimensionais. Especifique o eixo ao longo do qual a soma cumulativa deve ser calculada usando o parâmetro axis.

5. Posso armazenar os resultados do numpy.cumsum() em um array existente?

Sim, você pode passar um array existente para o parâmetro out para armazenar os resultados.

6. Qual é o tipo de dados do array de saída do numpy.cumsum()?

O tipo de dados do array de saída é o mesmo do array de entrada por padrão. Você pode especificar um tipo de dados diferente usando o parâmetro dtype.

7. Como posso calcular a soma cumulativa de pesos?

Para calcular a soma cumulativa de pesos, multiplique o array pelo array de pesos e use o numpy.cumsum().

8. Qual é o custo computacional do numpy.cumsum()?

O custo computacional do numpy.cumsum() é O(n), onde n é o número de elementos no array.