Comment calculer le pourcentage de changement chez les pandas



Vous pouvez utiliser la fonction pct_change() pour calculer le pourcentage de changement entre les valeurs dans les pandas :

#calculate percent change between values in pandas Series
s.pct_change()

#calculate percent change between rows in pandas DataFrame
df['column_name'].pct_change()

Les exemples suivants montrent comment utiliser cette fonction dans la pratique.

Exemple 1 : Pourcentage de changement dans la série pandas

Le code suivant montre comment calculer le pourcentage de changement entre les valeurs d’une série pandas :

import pandas as pd

#create pandas Series
s = pd.Series([6, 14, 12, 18, 19])

#calculate percent change between consecutive values
s.pct_change() 

0         NaN
1    1.333333
2   -0.142857
3    0.500000
4    0.055556
dtype: float64

Voici comment ces valeurs ont été calculées :

  • Indice 1 : (14 – 6) / 6 = 1,333333
  • Indice 2 : (12 – 14) / 14 = -.142857
  • Indice 3 : (18 – 12) / 12 = 0,5
  • Indice 4 : (19 – 18) / 18 = 0,055556

Notez que vous pouvez également utiliser l’argument périodes pour calculer la variation en pourcentage entre les valeurs à différents intervalles :

import pandas as pd

#create pandas Series
s = pd.Series([6, 14, 12, 18, 19])

#calculate percent change between values 2 positions apart
s.pct_change(periods=2) 

0         NaN
1         NaN
2    1.000000
3    0.285714
4    0.583333
dtype: float64

Voici comment ces valeurs ont été calculées :

  • Indice 2 : (12 – 6) / 6 = 1,000000
  • Indice 3 : (18 – 14) / 14 = 0,285714
  • Indice 4 : (19 – 12) / 12 = .583333

Exemple 2 : Pourcentage de changement dans le DataFrame pandas

Le code suivant montre comment calculer la variation en pourcentage entre des lignes consécutives dans un DataFrame pandas :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'period': [1, 2, 3, 4, 5],
                   'sales': [6, 7, 7, 9, 12]}) 

#view DataFrame
df

        period	sales
0	1	6
1	2	7
2	3	7
3	4	9
4	5	12

#calculate percent change between consecutive values in 'sales' column
df['sales_pct_change'] = df['sales'].pct_change()

#view updated DataFrame
df

	period	sales	sales_pct_change
0	1	6	NaN
1	2	7	0.166667
2	3	7	0.000000
3	4	9	0.285714
4	5	12	0.333333

Voici comment ces valeurs ont été calculées :

  • Indice 1 : (7 – 6) / 6 = .166667
  • Indice 2 : (7 – 7) / 7 = 0,000000
  • Indice 3 : (9 – 7) / 7 = .285714
  • Indice 4 : (12 – 9) / 9 = .333333

Vous pouvez trouver la documentation complète de la fonction pct_change() ici .

Ressources additionnelles

Comment calculer la moyenne des colonnes dans Pandas
Comment calculer la médiane chez les pandas
Comment calculer une moyenne mobile chez les pandas
Comment calculer la corrélation glissante chez les pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *