Pandas DataFrame DataFrame.shift() Fonction

Suraj Joshi 30 janvier 2023
  1. Syntaxe de pandas.DataFrame.shift():
  2. Exemples de codes: fonction DataFrame.shift() pour décaler le long de la ligne
  3. Exemples de codes: fonction DataFrame.shift() pour déplacer le long de la colonne
  4. Exemples de codes: méthode DataFrame.shift avec paramètre fill_value
Pandas DataFrame DataFrame.shift() Fonction

Pandas DataFrame.shift est utilisée pour déplacer l’index de DataFrame par un nombre spécifié de périodes avec une fréquence temporelle facultative.

Syntaxe de pandas.DataFrame.shift():

DataFrame.shift(periods=1, freq=None, axis=0, fill_value=None)

Paramètres

periods Entier. Décide du nombre de périodes pour déplacer l’indice qui peut être négatif ou positif
freq DateOffset, tseries.offsets, timedelta ou str. Paramètre facultatif utilisé pour décaler les valeurs d’index sans réaligner les données
axis déplacer le long de la ligne (axis = 0) ou de la colonne (axis = 1)
fill_value valeur scalaire à utiliser pour les valeurs manquantes nouvellement introduites.

Revenir

Il retourne un objet DataFrame avec des valeurs d’index décalées.

Exemples de codes: fonction DataFrame.shift() pour décaler le long de la ligne

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=1)
print("Shifted DataFrame")
print(shifted_df)

Production:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
     X    Y
0  NaN  NaN
1  1.0  4.0
2  2.0  1.0

Ici, nous définissons la valeur de periods sur 1, et cela déplace les lignes de DataFrame du haut vers le bas de l’unité 1.

En se déplaçant vers le bas, les lignes les plus hautes deviennent vacantes et sont remplies par défaut par les valeurs NaN.

Si nous voulons déplacer les lignes du bas vers le haut, nous pouvons définir une valeur négative du paramètre periods.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=-2)
print("Shifted DataFrame")
print(shifted_df)

Production:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
     X    Y
0  3.0  8.0
1  NaN  NaN
2  NaN  NaN

Il décale les lignes de bas en haut d’une période de 2.

Exemples de codes: fonction DataFrame.shift() pour déplacer le long de la colonne

Si nous voulons déplacer l’axe de la colonne, nous définissons axis = 1 dans la méthode shift().

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)
shifted_df=df.shift(periods=1,axis=1)
print("Shifted DataFrame")
print(shifted_df)

Production:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
    X    Y
0 NaN  1.0
1 NaN  2.0
2 NaN  3.0

Ici, nous définissons la valeur de periods sur 1, ce qui déplace les colonnes de DataFrame de la gauche vers la droite de l’unité 1.

Si nous voulons déplacer l’axe de la colonne de droite vers la gauche, nous définissons une valeur négative pour le paramètre periods.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=-1,axis=1)
print("Shifted DataFrame")
print(shifted_df)

Production:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
     X   Y
0  4.0 NaN
1  1.0 NaN
2  8.0 NaN

Il décale les colonnes de droite à gauche de la période de 1.

Exemples de codes: méthode DataFrame.shift avec paramètre fill_value

Dans les exemples précédents, les valeurs manquantes après le décalage sont remplies par NaN par défaut. Nous pouvons également remplir les valeurs manquantes avec d’autres valeurs plutôt que NaN en utilisant le paramètre fill_value.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 3,],
                   'Y': [4, 1, 8]})
print("Original DataFrame:")
print(df)

shifted_df=df.shift(periods=-1,
                    axis=1,
                    fill_value=4)
print("Shifted DataFrame")
print(shifted_df)

Production:

Original DataFrame:
   X  Y
0  1  4
1  2  1
2  3  8
Shifted DataFrame
   X  Y
0  4  4
1  1  4
2  8  4

Il remplit toutes les valeurs manquantes créées par la méthode shift() avec 4.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn