Heim >Backend-Entwicklung >Python-Tutorial >Wie wähle ich Spalten in Pandas DataFrames richtig aus?

Wie wähle ich Spalten in Pandas DataFrames richtig aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-24 13:26:241044Durchsuche

How to Correctly Select Columns in Pandas DataFrames?

Spaltenauswahl in Pandas-Datenrahmen: Ein Leitfaden zur Fehlerbehebung

Bei der Arbeit mit Pandas-Datenrahmen ist die Auswahl bestimmter Spalten eine grundlegende Aufgabe. Versuche, dies mithilfe einer Syntax wie df['a':'b'] oder df.ix[:, 'a':'b'] zu erreichen, können jedoch auf Hindernisse stoßen, da Spaltennamen nicht als Zeichenfolgen segmentiert werden können.

Option 1: Explizite Spaltenauswahl

Um bestimmte Spalten nach Namen auszuwählen, besteht die Lösung darin, eine Liste von Spaltennamen an zu übergeben __getitem__-Syntax:

df1 = df[['a', 'b']]

Dieser Ansatz erstellt eine Ansicht nur der gewünschten Spalten.

Option 2: Numerische Spaltenauswahl

Bei Indizierung von Spalten numerisch bevorzugt wird, kann die iloc-Funktion verwendet werden:

df1 = df.iloc[:, 0:2]

Beachten Sie, dass die Python-Indizierung die ausschließt Endindex.

Kopieren vs. Anzeigen

Es ist wichtig, den Unterschied zwischen einer Ansicht und einer Kopie eines Pandas-Objekts zu verstehen. Standardmäßig erstellt die erste Methode eine Kopie, während die zweite Methode eine Ansicht zurückgibt, die auf denselben Speicherort wie das Originalobjekt verweist. Um eine Kopie mit der zweiten Methode zu erhalten, verwenden Sie die Methode .copy():

df1 = df.iloc[0, 0:2].copy()

Verwendung von Spaltenindizes

Um mit iloc auf Spalten nach Namen zuzugreifen, ist die Spaltenindizes können mit der Funktion get_loc abgerufen werden:

column_indices = {df.columns.get_loc(c): c for idx, c in enumerate(df.columns)}
df1 = df.iloc[:, [column_indices['a'], column_indices['b']]]

Das obige ist der detaillierte Inhalt vonWie wähle ich Spalten in Pandas DataFrames richtig 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