Hoe u rijen selecteert op basis van meerdere voorwaarden met behulp van pandas loc


U kunt de volgende methoden gebruiken om rijen uit een Pandas DataFrame te selecteren op basis van verschillende voorwaarden:

Methode 1: Selecteer rijen die aan meerdere voorwaarden voldoen

 df. loc [((df[' col1 '] == ' A ') & (df[' col2' ] == ' G '))]

Methode 2: Selecteer rijen die aan een van verschillende voorwaarden voldoen

 df. loc [((df[' col1 '] > 10) | (df[' col2' ] < 8))]

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team position assists rebounds
0 A G 5 11
1 A G 7 8
2 A F 7 10
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 9 9
7 B F 4 12

Methode 1: Selecteer rijen die aan meerdere voorwaarden voldoen

De volgende code laat zien hoe u alleen rijen uit het DataFrame selecteert, waarbij team gelijk is aan ‚A‘ en positie gelijk is aan ‚G‘:

 #select rows where team is equal to 'A' and position is equal to 'G'
df. loc [((df[' team '] == ' A ') & (df[' position '] == ' G '))]

	team position assists rebounds
0 A G 5 11
1 A G 7 8

Er waren slechts twee rijen in het DataFrame die aan beide voorwaarden voldeden.

Methode 2: Selecteer rijen die aan een van verschillende voorwaarden voldoen

De volgende code laat zien hoe u alleen rijen in het DataFrame selecteert waar assists groter zijn dan 10 of rebounds kleiner dan 8:

 #select rows where assists is greater than 10 or rebounds is less than 8
df. loc [((df[' assists '] > 10) | (df[' rebounds '] < 8))]

	team position assists rebounds
3 A F 9 6
4 B G 12 6
5 B G 9 5

Er waren slechts drie rijen in het DataFrame die aan beide voorwaarden voldeden.

Opmerking: in deze twee voorbeelden hebben we de rijen gefilterd op basis van twee voorwaarden, maar met behulp van de & en | attributen . operators, we kunnen op zoveel voorwaarden filteren als we willen.

Aanvullende bronnen

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

Hoe u een nieuwe kolom maakt op basis van een voorwaarde in Pandas
Hoe rijen met een specifieke waarde in Pandas te verwijderen
Hoe dubbele rijen in Panda’s te verwijderen

Einen Kommentar hinzufügen

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