Pandas DataFrame DataFrame.shift() Funktion
-
Syntax von Pandas
DataFrame.shift()
: -
Beispiel-Codes:
DataFrame.shift()
Funktion zum Verschieben entlang einer Zeile -
Beispiel-Codes:
DataFrame.shift()
Funktion zum Verschieben entlang einer Spalte -
Beispiel-Codes:
DataFrame.shift
Methode mitfill_value
Parameter
Die Methode Pandas DataFrame.shift
wird verwendet, um den Index von DataFrame
um eine festgelegte Anzahl von Perioden mit einer optionalen Zeitfrequenz zu verschieben.
Syntax von Pandas DataFrame.shift()
:
DataFrame.shift(periods=1, freq=None, axis=0, fill_value=None)
Parameter
periods |
Ganze Zahl. Entscheidet die Anzahl der Perioden, die den Index verschieben sollen, die negativ oder positiv sein können |
freq |
DateOffset , tseries.offsets , timedelta oder str . Optionaler Parameter, der verwendet wird, um Indexwerte zu verschieben, ohne die Daten neu auszurichten |
axis |
Verschiebung entlang der row (axis=0) oder column (axis=1) |
fill_value |
skalarer Wert, der für neu eingeführte fehlende Werte zu verwenden ist. |
Zurück
Es gibt ein DataFrame
-Objekt mit verschobenen Indexwerten zurück.
Beispiel-Codes: DataFrame.shift()
Funktion zum Verschieben entlang einer Zeile
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)
Ausgabe:
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
Hier setzen wir den Wert von periods
auf 1
, und dies verschiebt die Zeilen des DataFrame
von oben nach unten um 1
Einheit.
Während der Verschiebung nach unten werden die obersten Zeilen leer und standardmäßig mit NaN
-Werten gefüllt.
Wenn wir Zeilen von unten nach oben verschieben wollen, können wir einen negativen Wert für den Parameter periods
einstellen.
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)
Ausgabe:
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
Er verschiebt Zeilen von unten nach oben um eine Periode von 2
.
Beispiel-Codes: DataFrame.shift()
Funktion zum Verschieben entlang einer Spalte
Wenn wir die Säulenachse verschieben wollen, setzen wir axis=1
in der shift()
Methode.
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)
Ausgabe:
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
Hier setzen wir den Wert von periods
auf 1
, und dies verschiebt die Spalten von DataFrame
von links nach rechts um 1
Einheit.
Wenn wir die Spaltenachse von rechts nach links verschieben wollen, setzen wir einen negativen Wert für den Parameter 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)
Ausgabe:
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
Er verschiebt Spalten von rechts nach links um die Periode von 1
.
Beispiel-Codes: DataFrame.shift
Methode mit fill_value
Parameter
In den vorherigen Beispielen werden die fehlenden Werte nach der Verschiebung standardmäßig mit NaN
gefüllt. Wir können die fehlenden Werte auch mit anderen Werten anstelle von NaN
füllen, indem wir den Parameter fill_value
verwenden.
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)
Ausgabe:
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
Er füllt alle fehlenden Werte, die durch die shift()
-Methode erzeugt wurden, mit 4
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn