So versetzen sie eine spalte in pandas: mit beispielen


Sie können die Funktion „shift()“ verwenden, um Werte in einer Spalte in einem Pandas-DataFrame nach oben oder unten zu verschieben:

 #shift values down by 1
df[' column1 '] = df[' column1 ']. shift (1)

#shift values up by 1
df[' column1 '] = df[' column1 ']. shift (-1)

Die folgenden Beispiele zeigen, wie diese Funktion in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' product ': ['A', 'B', 'C', 'D', 'E', 'F'],
                   ' sales ': [4, 7, 8, 12, 15, 19]})

#view DataFrame
df

        product sales
0 to 4
1 B 7
2 C 8
3 D 12
4 E 15
5 F 19

Beispiel 1: Eine Spalte nach oben oder unten verschieben

Der folgende Code zeigt, wie man alle Werte in der Spalte „Produkt“ um 1 nach unten verschiebt:

 #shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4
1 to 7
2 B 8
3 C 12
4 D 15
5 E 19

Beachten Sie, dass jeder Wert in der Spalte „Produkt“ um 1 verschoben wurde und der erste Wert in der Spalte in NaN geändert wurde.

Beachten Sie außerdem, dass der letzte Wert in der Produktspalte („F“) vollständig aus dem DataFrame entfernt wurde.

Um den Wert „F“ im DataFrame beizubehalten, müssen wir zunächst eine Leerzeile am unteren Rand des DataFrame hinzufügen und dann den Offset vornehmen:

 import numpy as np

#add empty row to bottom of DataFrame
df. loc [len(df. index )] = [np. nah , np. no ]

#shift all 'product' values down by 1
df[' product '] = df[' product ']. shift (1)

#view updated DataFrame
df

	product sales
0 NaN 4.0
1 to 7.0
2B 8.0
3C 12.0
4 D 15.0
5 E 19.0
6 F NaN

Beachten Sie, dass der Wert „F“ als letzter Wert in der Spalte „Produkt“ beibehalten wird.

Beispiel 2: Mehrere Spalten nach oben oder unten verschieben

Der folgende Code zeigt, wie man alle Werte in den Spalten „Produkt“ und „Umsatz“ um 2 nach oben verschiebt:

 #shift all 'product' and 'sales' values up by 2
df[[' product ', ' sales ']] = df[[' product ', ' sales ']]. shift (-2)

#view updated DataFrame
df

        product sales
0 C 8.0
1 D 12.0
2 E 15.0
3 F 19.0
4 NaN NaN
5 NaN NaN

Beachten Sie, dass jeder Wert in den Spalten „Produkt“ und „Umsatz“ um 2 nach oben verschoben wurde und die beiden unteren Werte in jeder Spalte in NaN geändert wurden.

Hinweis : Die vollständige Dokumentation für die Funktion „shift()“ finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So fügen Sie Zeilen zu einem Pandas DataFrame hinzu
So fügen Sie einem Pandas DataFrame eine Spalte hinzu
So fügen Sie einem Pandas DataFrame eine Kopfzeile hinzu

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert