Décalage des valeurs avec shift()
Le décalage des valeurs avec shift() permet de décaler les données d’un DataFrame ou d’une série sur une ou plusieurs positions, ce qui est utile pour créer des variables temporelles (par exemple, les valeurs précédentes ou suivantes dans une série chronologique).
Fonctions :
-
shift()
La fonction shift() de Pandas permet de décaler les valeurs d'une colonne ou d'un DataFrame sur un certain nombre de lignes. Cela est souvent utilisé dans l'analyse des séries temporelles ou dans des contextes où vous devez comparer les valeurs d'une colonne à une valeur précédente ou suivante. Par défaut, shift(1) décale les valeurs d'une colonne d'une ligne vers le bas (ou vers le haut si un nombre négatif est utilisé). Cette fonction est utile pour calculer des différences entre les valeurs consécutives, créer des variables de décalage ou effectuer des calculs de type "rolling".
Importation :
import pandas as pd
Attributs :
Paramètre Description periods
Le nombre de périodes (lignes) à décaler. Par défaut, c'est 1
. Utilisez une valeur positive pour un décalage vers le bas, ou une valeur négative pour un décalage vers le haut.fill_value
Valeur à utiliser pour remplir les valeurs manquantes générées par le décalage. Par défaut, c'est NaN
.axis
L'axe sur lequel appliquer le décalage. Par défaut, c'est l'axe des lignes ( axis=0
).Exemple de code :
import pandas as pd # Création d'un DataFrame exemple data = { 'date': ['2025-01-01', '2025-01-02', '2025-01-03'], 'ventes': [100, 150, 200] } df = pd.DataFrame(data) # Décalage des valeurs de la colonne 'ventes' d'une ligne vers le bas df['ventes_decalees'] = df['ventes'].shift(1) # Affichage du DataFrame après le décalage print(df)
Explication du code :
-
Décalage des valeurs d'une colonne :
La fonctionshift(1)
décale les valeurs de la colonne spécifiée (ici'colonne'
) d'une ligne vers le bas. Cela signifie que chaque ligne dans la nouvelle colonne ('colonne_decalee'
) contient la valeur de la ligne précédente de la colonne'colonne'
. -
Résultat attendu :
La première ligne de la colonne décalée contiendra une valeurNaN
car il n'y a pas de valeur précédente à déplacer. Les autres lignes contiendront les valeurs décalées de la colonne d'origine.
🔹 Remarques pratiques
-
Utilisation dans les séries temporelles :
Le décalage est très couramment utilisé dans les séries temporelles pour comparer des valeurs à des moments précédents, comme dans les calculs de rendements financiers ou de différences de prix. -
Calcul des différences :
Si vous souhaitez calculer la différence entre les valeurs successives dans une colonne, vous pouvez soustraire la colonne décalée de la colonne d'origine. - Gestion des valeurs manquantes :
Les valeurs de la première ligne, après un décalage vers le bas, seront toujoursNaN
, sauf si vous utilisez l'argumentfill_value
pour les remplir avec une autre valeur.
-