HOWTO · Pandas
Spalten-Slices von DataFrame in Pandas nehmen
Dieses Tutorial demonstriert, wie man in Pandas mit den Methoden .loc(),.iloc() und .reindex() Spalten-Slices erstellen kann
Auf dieser Seite
Column-Slicing in Pandas erlaubt uns, den Dataframe in Teilmengen zu zerschneiden, d.h. es wird ein neuer Pandas-Dataframe aus dem Original mit nur den benötigten Spalten erstellt. Wir werden mit dem folgenden Dataframe als Beispiel für das Column-Slicing arbeiten.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
print(df)
Ausgabe:
a b c d
0 0.797321 0.468894 0.335781 0.956516
1 0.546303 0.567301 0.955228 0.557812
2 0.385315 0.706735 0.058784 0.578468
3 0.751037 0.248284 0.172229 0.493763
Mit loc() Spalten im Pandas-DataFrame slicen
Die Pandas-Bibliothek stellt uns mehr als eine Methode zur Verfügung, um das Spalten-Slicing durchzuführen. Die erste ist die Verwendung der Funktion loc().
Die Funktion loc() von Pandas ermöglicht uns den Zugriff auf die Elemente eines Dataframes über Spaltennamen oder Indexbezeichnungen. Die Syntax für das Spalten-Slicing mit loc():
dataframe.loc[:, [columns]]
Beispiel:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.loc[:, "a":"c"] # Returns a new dataframe with columns a,b and c
print(df1)
Ausgabe:
a b c
0 0.344952 0.611792 0.213331
1 0.907322 0.992097 0.080447
2 0.471611 0.625846 0.348778
3 0.656921 0.999646 0.976743
Verwendung von iloc() zum Spalten-Slicing in Pandas DataFrame
Wir können auch die Funktion iloc() verwenden, um auf Elemente eines Dataframes zuzugreifen, indem wir den ganzzahligen Index von Zeilen und Spalten verwenden. Die Syntax für das Spalten-Slicing mit iloc():
dataframe.iloc[:, [column - index]]
Beispiel:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.iloc[:, 0:2] # Returns a new dataframe with first two columns
print(df1)
Ausgabe:
a b
0 0.034587 0.070249
1 0.648231 0.721517
2 0.485168 0.548045
3 0.377612 0.310408
Verwenden von redindex() zum Schneiden von Spalten in Pandas DataFrame
Die Funktion reindex() kann auch zum Ändern der Indizes des DataFrames verwendet werden und kann für das Spalten-Slicing genutzt werden. Die Funktion reindex() kann viele Argumente entgegennehmen, aber für das Spalten-Slicing müssen wir der Funktion nur die Spaltennamen übergeben.
Die Syntax für das Spalten-Slicing mit reindex():
dataframe.reindex(columns=[column_names])
Beispiel:
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
# Returns a new dataframe with c and b columns
df1 = df.reindex(columns=["c", "b"])
print(df1)
Ausgabe:
c b
0 0.429790 0.962838
1 0.605381 0.463617
2 0.922489 0.733338
3 0.741352 0.118478