sábado, 24 de abril de 2021

Python - Utilizando o método Series.cummax() para encontrar o máximo cumulativo de uma série

O método Series.cummax() do pandas é usado para encontrar o máximo cumulativo de uma série. No máximo cumulativo, o comprimento da série retornada é o mesmo da série de entrada e cada elemento é igual ao maior entre o elemento atual e o elemento anterior.

Sintaxe: Series.cummax(axis=None, skipna=True)

Parâmetros:

  • axis: 0 ou 'index' para operação em linha e 1 ou 'columns' para operação em coluna.
  • skipna: Ignora a adição de NaN para elementos após o próximo definido como True.

Tipo de retorno: Series

Exemplo #1: Neste exemplo, uma série é criada a partir de uma lista python. A lista também contém um valor Nulo e o parâmetro skipna é mantido como padrão, ou seja, True.

# importa o módulo pandas
import pandas as pd

# importa o módulo numpy
import numpy as np 

# criando uma lista de valores
values = [3, 4, np.nan, 7, 2, 0] 

# criando uma serie a partir de uma lista
series = pd.Series(values) 

# chamando o método cummax
cummax = series.cummax() 

# mostrando o resultado
print(cummax)

Saída:

0    3.0
1    4.0
2    NaN
3    7.0
4    7.0
5    7.0
dtype: float64

Explicação: Series.cummax() é a comparação do valor atual com o valor anterior. O primeiro elemento é sempre igual ao primeiro da série do chamador.

3
4  (4>3)
NaN (Não pode ser comparados com valores inteiros)
7  (7>4)
7  (7>2)
7  (7>0)

Exemplo #2: skipna=False. Neste exemplo, uma série é criada como no exemplo acima. Mas o parâmetro skipna é mantido como False. Portanto, os valores NULL não serão ignorados e serão comparados sempre que ocorrer.

# importa o módulo pandas
import pandas as pd

# importa o módulo numpy
import numpy as np 

# criando uma lista de valores
values = [9, 4, 33, np.nan, 0, 1, 76, 5]

# criando uma serie a partir de uma lista
series = pd.Series(values) 

# chamando o método cummax
cummax = series.cummax(skipna=False) 

# mostrando o resultado
print(cummax)

Saída:

0     9.0
1     9.0
2    33.0
3     NaN
4     NaN
5     NaN
6     NaN
7     NaN
dtype: float64

Explicação: Assim como no exemplo acima, o máximo dos valores atuais e anteriores foram armazenados em todas as posições até que NaN ocorresse. Uma vez que NaN comparado com qualquer coisa retorna NaN e o parâmetro skipna é mantido como False, o máximo cumulativo após sua ocorrência é NaN devido à comparação de todos os valores com NaN.

Artigo escrito por Kartikaybhutani e traduzido por Acervolima de Python | Pandas series.cummax() to find Cumulative maximum of a series.

Licença

0 comentários:

Postar um comentário