Panda's: rijen selecteren op basis van kolomwaarden
U kunt een van de volgende methoden gebruiken om rijen in een Panda DataFrame te selecteren op basis van kolomwaarden:
Methode 1: Selecteer rijen waarbij kolom gelijk is aan een specifieke waarde
df. loc [df[' col1 '] == value]
Methode 2: Selecteer rijen waar de kolomwaarde in de lijst met waarden voorkomt
df. loc [df[' col1 ']. isin ([value1, value2, value3, ...])]
Methode 3: Selecteer rijen op basis van meerdere kolomvoorwaarden
df. loc [(df[' col1 '] == value) & (df[' col2 '] < value)]
In het volgende voorbeeld ziet u hoe u elke methode kunt gebruiken met de volgende panda’s DataFrame:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
' points ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
' blocks ': [4, 7, 7, 6, 5, 8, 9, 10]})
#view DataFrame
df
team points rebound blocks
0 A 5 11 4
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
7 C 4 12 10
Methode 1: Selecteer rijen waarbij kolom gelijk is aan een specifieke waarde
De volgende code laat zien hoe u elke rij van het DataFrame selecteert waarbij de kolom ‚punten‘ gelijk is aan 7:
#select rows where 'points' column is equal to 7
df. loc [df[' points '] == 7]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
Methode 2: Selecteer rijen waar de kolomwaarde in de lijst met waarden voorkomt
De volgende code laat zien hoe u elke rij van het DataFrame selecteert waarbij de kolom ‚punten‘ gelijk is aan 7, 9 of 12:
#select rows where 'points' column is equal to 7
df. loc [df[' points ']. isin ([7, 9, 12])]
team points rebound blocks
1 To 7 8 7
2 B 7 10 7
3 B 9 6 6
4 B 12 6 5
5 C 9 5 8
6 C 9 9 9
Methode 3: Selecteer rijen op basis van meerdere kolomvoorwaarden
De volgende code laat zien hoe u elke rij van het DataFrame selecteert waarbij de kolom ‚team‘ gelijk is aan ‚B‘ en de kolom ‚punten‘ groter is dan 8:
#select rows where 'team' is equal to 'B' and points is greater than 8
df. loc [(df[' team '] == ' B ') & (df[' points '] > 8)]
team points rebound blocks
3 B 9 6 6
4 B 12 6 5
Merk op dat alleen de twee lijnen waar het team gelijk is aan „B“ en „punten“ groter zijn dan 8, worden geretourneerd.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe rijen op index te selecteren in Pandas
Hoe afzonderlijke rijen in Panda’s te selecteren
Hoe u rijen selecteert waar de waarde in een willekeurige kolom in Pandas verschijnt