Pandas: so finden sie die erste zeile, die die kriterien erfüllt
Sie können die folgende Syntax verwenden, um die erste Zeile eines Pandas-DataFrames zu finden, die bestimmte Kriterien erfüllt:
#get first row where value in 'team' column is equal to 'B' df[df. team == ' B ']. iloc [0] #get index of first row where value in 'team' column is equal to 'B' df[df. team == ' B ']. index [0]
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', 'C'], ' points ': [18, 13, 19, 14, 24, 21, 20, 28], ' assists ': [5, 7, 17, 9, 12, 9, 5, 12]}) #view DataFrame print (df) team points assists 0 to 18 5 1 to 13 7 2 A 19 17 3 B 14 9 4 B 24 12 5 C 21 9 6 C 20 5 7 C 28 12
Beispiel 1: Finden Sie die erste Zeile, die ein Kriterium erfüllt
Wir können die folgende Syntax verwenden, um die erste Zeile zu finden, in der der Wert in der Teamspalte „B“ entspricht:
#find first row where team is equal to 'B' df[df. team == ' B ']. iloc [0] team B points 14 assists 9 Name: 3, dtype: object #find index of first row where team is equal to 'B' df[df. team == ' B ']. index [0] 3
Wir können sehen, dass sich die erste Zeile, in der der Wert in der Teamspalte „B“ entspricht, an Indexposition 3 befindet.
Beispiel 2: Suchen Sie die erste Zeile, die mehrere Kriterien erfüllt
Wir können die folgende Syntax verwenden, um die erste Zeile zu finden, in der der Wert in der Punktespalte größer als 15 und der Wert in der Assists- Spalte größer als 10 ist:
#find first row where points > 15 and assists > 10 df[(df. points > 15) & (df. assists > 10)]. iloc [0] team A points 19 assists 17 Name: 2, dtype: object #find index of first row where points > 15 and assists > 10 df[(df. points > 15) & (df. assists > 10)]. index [0] 2
Wir können sehen, dass sich die erste Zeile, in der der Wert in der Punktespalte größer als 15 und der Wert in der Assists- Spalte größer als 10 ist, an Indexposition 2 befindet.
Beispiel 3: Finden Sie die erste Zeile, die eines von vielen Kriterien erfüllt
Wir können die folgende Syntax verwenden, um die erste Zeile zu finden, in der der Wert in der Punktespalte größer als 15 oder der Wert in der Assists- Spalte größer als 10 ist:
#find first row where points > 15 or assists > 10 df[(df. points > 15) | (df. assists > 10)]. iloc [0] team A points 18 assists 5 Name: 0, dtype: object #find index of first row where points > 15 or assists > 10 df[(df. points > 15) | (df. assists > 10)]. index [0] 0
Wir können sehen, dass sich die erste Zeile, in der der Wert in der Punktespalte größer als 15 oder der Wert in der Assists- Spalte größer als 10 ist, an der Indexposition 0 befindet.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in Pandas ausführen:
So wählen Sie Zeilen ohne NaN-Werte in Pandas aus
So wählen Sie Zeilen basierend auf Spaltenwerten in Pandas aus
So wählen Sie einzelne Zeilen in Pandas aus