Auswählen mehrerer Spalten im Pandas-Datenrahmen
In der Pandas-Bibliothek von Python ist das Auswählen bestimmter Spalten aus einem Datenrahmen ein häufiger Vorgang. Bei Versuchen, dies auf bestimmte Weise zu tun, können jedoch Fehler auftreten.
Fehlgeschlagene Versuche:
Verwendung einer Slice-Notation wie df['a':'b'] oder df .ix[:, 'a':'b'] zum Auswählen von Spalten zwischen 'a' und 'b' schlägt fehl, da Spaltennamen Zeichenfolgen sind und dies nicht sein können auf diese Weise in Scheiben geschnitten.
Erfolgreiche Optionen:
Spaltennamen verwenden:
Um bestimmte Spalten anhand ihrer Namen auszuwählen, Geben Sie eine Liste der gewünschten Spaltennamen in eckigen Klammern an:
df1 = df[['a', 'b']]
Using Column Indizes:
Wenn es wichtig ist, Spalten anhand ihrer Indizes (und nicht anhand ihrer Namen) auszuwählen, verwenden Sie iloc:
df1 = df.iloc[:, 0:2] # Note: Python slicing is exclusive of the ending index.
Überlegungen:
Ansehen vs. Kopieren:
Die oben beschriebenen Methoden geben a zurück Ansicht der gewünschten Spalten, keine Kopie. Um eine neue Kopie im Speicher zu erstellen, verwenden Sie die Methode .copy():
df1 = df.iloc[0, 0:2].copy() # Ensures modifications to df1 do not alter df
Spaltenindizes mit get_loc verwenden:
Um die Indizes bestimmter Spalten zu erhalten , verwenden Sie die get_loc-Funktion der columns-Methode:
column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
Dies gibt ein Wörterbuch zurück, in dem die Schlüssel die Spaltenindizes und die sind Werte sind die Spaltennamen. Diese Indizes können Sie dann mit iloc verwenden, um die gewünschten Spalten auszuwählen.
Das obige ist der detaillierte Inhalt vonWie wähle ich effizient mehrere Spalten in einem Pandas DataFrame aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!