Pandas: index der zeilen abrufen, deren spalte mit dem wert übereinstimmt
Sie können die folgende Syntax verwenden, um den Index von Zeilen in einem Pandas-DataFrame abzurufen, dessen Spalte mit bestimmten Werten übereinstimmt:
df. index [df[' column_name ']== value ]. tolist ()
Die folgenden Beispiele zeigen, wie diese Syntax in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'], ' points ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df team points rebounds 0 to 5 11 1 to 7 8 2 to 7 10 3 B 9 6 4 B 12 6 5 C 9 5 6 C 9 9 7 D 4 12
Beispiel 1: Rufen Sie den Index der Zeilen ab, deren Spalte mit dem Wert übereinstimmt
Der folgende Code zeigt, wie man den Index von Zeilen erhält, deren Spalte einem bestimmten Wert entspricht:
#get index of rows where 'points' column is equal to 7 df. index [df[' points ']== 7 ]. tolist () [1, 2]
Dies sagt uns, dass Zeilen mit den Indexwerten 1 und 2 in der Punktespalte den Wert „7“ haben.
Beachten Sie, dass wir auch die Operatoren „Kleiner als“ und „Größer als“ verwenden können, um den Index von Zeilen zu ermitteln, in denen eine Spalte kleiner oder größer als ein bestimmter Wert ist:
#get index of rows where 'points' column is greater than 7 df. index [df[' points '] > 7 ]. tolist () [3, 4, 5, 6]
Dies sagt uns, dass Zeilen mit den Indexwerten 3 , 4 , 5 und 6 in der Punktespalte einen Wert größer als „7“ haben.
Beispiel 2: Rufen Sie den Index der Zeilen ab, deren Spalte mit der Zeichenfolge übereinstimmt
Der folgende Code zeigt, wie man den Index von Zeilen erhält, in denen eine Spalte einer bestimmten Zeichenfolge entspricht:
#get index of rows where 'team' column is equal to 'B' df. index [df[' team ']==' B ']. tolist () [3, 4]
Dies sagt uns, dass Zeilen mit den Indexwerten 3 und 4 in der Teamspalte den Wert „B“ haben.
Beispiel 3: Zeilenindex mit mehreren Bedingungen abrufen
Der folgende Code zeigt, wie man den Index von Zeilen erhält, in denen die Werte mehrerer Spalten bestimmte Bedingungen erfüllen:
#get index of rows where 'points' is equal to 7 or 12 df. index [(df[' points ']== 7 ) | (df[' points ']== 12 )]. tolist () [1, 2, 4] #get index of rows where 'points' is equal to 9 and 'team' is equal to 'B' df. index [(df[' points ']== 9 ) & (df[' team ']==' B ')]. tolist () [3]
Zusätzliche Ressourcen
So erhalten Sie einen Zellenwert aus Pandas DataFrame
So benennen Sie den Index in Pandas DataFrame um
So sortieren Sie Spalten in Pandas nach Namen