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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert