Python | Serie Pandas.pct_change()

El método pandas pct_change() se aplica en series con datos numéricos para calcular el cambio porcentual después de n número de elementos. De forma predeterminada, calcula el cambio porcentual del elemento actual con respecto al elemento anterior. (Actual-Anterior/Anterior) * 100.
Primero, los valores de n(n=período) son siempre NaN , ya que no hay un valor anterior para calcular el cambio.
 

Sintaxis: Series.pct_change(periods=1, fill_method=’pad’, limit=Ninguno)
Parámetros: 
periodos: Define la brecha entre el valor actual y el anterior. El valor predeterminado es 1 
fill_method: define el método utilizado para manejar los valores nulos 
. limit: número de valores NaN consecutivos para completar antes de detenerse.
Tipo de retorno: Serie numérica con cambio porcentual 
 

Ejemplo n.º 1: 
en este método, se crea una serie a partir de una lista de Python utilizando Pandas Series(). La serie no contiene ningún valor nulo y, por lo tanto, el método pct_change() se llama directamente con el valor predeterminado del parámetro  de período , es decir, 1.
 

Python3

# importing pandas module
import pandas as pd
   
# importing numpy module
import numpy as np
   
# creating list
list = [10, 14, 20, 25, 12.5, 13, 0, 50]
 
# creating series
series = pd.Series(list)
 
# calling method
result = series.pct_change()
 
# display
result

Producción: 
 

0         NaN
1    0.400000
2    0.428571
3    0.250000
4   -0.500000
5    0.040000
6   -1.000000
7         inf
dtype: float64

Como se muestra en la salida, los primeros n valores siempre son iguales a NaN. El resto de los valores son iguales al cambio porcentual en los valores antiguos y se almacenan en la misma posición que la serie de llamadas. 
Nota: Dado que el penúltimo valor fue 0, el cambio porcentual es inf. inf significa infinito. 
Usando la fórmula, pct_change= x-0/0 = Infinito
  
Ejemplo n.º 2: manejo de valores nulos
En este ejemplo, algunos valores nulos también se crean usando el método np.nan de Numpy y se pasan a la lista. ‘ bfill ‘ se pasa a fill_method. bfill significa Backfill y llenará los valores nulos con valores en su siguiente posición.
 

Python3

# importing pandas module
import pandas as pd
   
# importing numpy module
import numpy as np
   
# creating list
list =[10, np.nan, 14, 20, 25, 12.5, 13, 0, 50]
 
# creating series
series = pd.Series(list)
 
# calling method
result = series.pct_change(fill_method ='bfill')
 
# display
result

Producción: 
 

0         NaN
1    0.400000
2    0.000000
3    0.428571
4    0.250000
5   -0.500000
6    0.040000
7   -1.000000
8         inf
dtype: float64

Como se puede ver en la salida, el valor en la posición 1 es 40 porque NaN fue reemplazado por 14. Por lo tanto, (14-10/10) * 100 = 40. El siguiente valor es 0 porque el cambio porcentual en 14 y 14 es 0 .
 

Publicación traducida automáticamente

Artículo escrito por Kartikaybhutani y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *