Funzione Pandas DataFrame DataFrame.shift()
-
Sintassi di
pandas.DataFrame.shift()
: -
Codici di esempio: Funzione
DataFrame.shift()
per spostarsi lungo la riga -
Codici di esempio: Funzione
DataFrame.shift()
per spostarsi lungo la colonna -
Codici di esempio: Metodo
DataFrame.shift
con parametrofill_value
Il metodo Pandas DataFrame.shift
viene utilizzato per spostare l’indice di DataFrame
di un numero specificato di periodi con una frequenza temporale opzionale.
Sintassi di pandas.DataFrame.shift()
:
DataFrame.shift(periods=1, freq=None, axis=0, fill_value=None)
Parametri
periods |
Numero intero. Decide il numero di periodi per spostare l’indice che può essere negativo o positivo |
freq |
DateOffset , tseries.offsets , timedelta o str . Parametro facoltativo utilizzato per spostare i valori dell’indice senza riallineare i dati |
axis |
sposta lungo la riga (axis = 0) o la colonna (axis = 1) |
fill_value |
valore scalare da utilizzare per i valori mancanti di nuova introduzione. |
Ritorno
Restituisce un oggetto DataFrame
con valori di indice spostati.
Codici di esempio: Funzione DataFrame.shift()
per spostarsi lungo la riga
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)
Produzione:
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
Qui, impostiamo il valore di periods
su 1
, e questo sposta le righe di DataFrame
dall’alto verso il basso di 1
unità.
Durante lo spostamento verso il basso, le righe più in alto diventano vuote e vengono riempite con i valori NaN
per impostazione predefinita.
Se vogliamo spostare le righe dal basso verso l’alto, possiamo impostare un valore negativo del parametro 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)
Produzione:
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
Sposta le righe dal basso verso l’alto di un periodo di 2
.
Codici di esempio: Funzione DataFrame.shift()
per spostarsi lungo la colonna
Se vogliamo spostare l’asse della colonna, impostiamo axis=1
nel metodo 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)
Produzione:
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
Qui, impostiamo il valore di periods
su 1
, e questo sposta le colonne di DataFrame
da sinistra verso destra di 1
unità.
Se vogliamo spostare l’asse della colonna da destra verso sinistra, impostiamo un valore negativo per il parametro 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)
Produzione:
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
Sposta le colonne da destra a sinistra per il periodo di 1
.
Codici di esempio: Metodo DataFrame.shift
con parametro fill_value
Negli esempi precedenti, i valori mancanti dopo lo spostamento sono riempiti con NaN
per impostazione predefinita. Possiamo anche riempire i valori mancanti con altri valori invece di NaN
utilizzando il parametro 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)
Produzione:
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
Riempie tutti i valori mancanti creati dal metodo shift()
con 4
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn