Heim >Backend-Entwicklung >Python-Tutorial >Wie wähle ich effizient mehrere Spalten in einem Pandas DataFrame aus?

Wie wähle ich effizient mehrere Spalten in einem Pandas DataFrame aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-08 21:19:151025Durchsuche

How Do I Efficiently Select Multiple Columns in a Pandas DataFrame?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn