Panda's: hoe vind je de eerste rij die aan de criteria voldoet?


U kunt de volgende syntaxis gebruiken om de eerste rij van een Panda DataFrame te vinden die aan specifieke criteria voldoet:

 #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]

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken met de volgende panda’s DataFrame:

 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

Voorbeeld 1: Zoek de eerste rij die aan een criterium voldoet

We kunnen de volgende syntaxis gebruiken om de eerste rij te vinden waar de waarde in de teamkolom gelijk is aan „B“:

 #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

We kunnen zien dat de eerste rij waar de waarde in de teamkolom gelijk is aan „B“ zich op indexpositie 3 bevindt.

Voorbeeld 2: Zoek de eerste rij die aan meerdere criteria voldoet

We kunnen de volgende syntaxis gebruiken om de eerste rij te vinden waar de waarde in de puntenkolom groter is dan 15 en de waarde in de assists- kolom groter is dan 10:

 #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

We kunnen zien dat de eerste rij waar de waarde in de puntenkolom groter is dan 15 en de waarde in de assists- kolom groter is dan 10, zich op indexpositie 2 bevindt.

Voorbeeld 3: Zoek de eerste rij die aan een van de vele criteria voldoet

We kunnen de volgende syntaxis gebruiken om de eerste rij te vinden waar de waarde in de puntenkolom groter is dan 15 of de waarde in de assists- kolom groter is dan 10:

 #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

We kunnen zien dat de eerste rij waar de waarde in de puntenkolom groter is dan 15 of de waarde in de assists- kolom groter is dan 10, zich op indexpositie 0 bevindt.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:

Hoe rijen zonder NaN-waarden in Panda’s te selecteren
Hoe u rijen selecteert op basis van kolomwaarden in Pandas
Hoe afzonderlijke rijen in Panda’s te selecteren

Einen Kommentar hinzufügen

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