API · Pandas
Funzione Pandas DataFrame DataFrame.shift()
Il DataFrame.shift(). funzione sposta l'indice di DataFrame di un numero di periodi specificato.
In questa pagina
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.