Panda's: rijen tussen twee waarden selecteren
U kunt de volgende basissyntaxis gebruiken om rijen in een Panda DataFrame te selecteren waarbij een kolom zich tussen twee specifieke waarden bevindt:
df_filtered = df[df[' points ']. between ( 25 , 35 )]
In dit specifieke voorbeeld worden alle rijen geselecteerd waarvan de waarde in de puntenkolom tussen 25 en 35 ligt.
Als u in plaats daarvan rijen wilt selecteren waarvan de waarde in de puntenkolom niet tussen 25 en 35 ligt , kunt u een tilde ( ~ ) vóór de kolomnaam toevoegen:
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld: selecteer rijen tussen twee waarden in Pandas
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de punten die zijn gescoord door basketbalspelers van verschillende teams:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Nets', 'Nets', 'Heat', 'Heat', 'Kings'], ' points ': [22, 28, 35, 34, 29, 28, 23]}) #view DataFrame print (df) team points 0 Mavs 22 1 Mavs 28 2 Nets 35 3 Nets 34 4 Heat 29 5 Heat 28 6 Kings 23
We kunnen de volgende syntaxis gebruiken om alleen rijen uit het DataFrame te selecteren waarbij de waarde in de puntenkolom tussen 25 en 35 ligt:
#select rows where value in points column is between 25 and 35
df_filtered = df[df[' points ']. between ( 25 , 35 )]
#view filtered DataFrame
print (df_filtered)
team points
1 Mavs 28
2 Nets 35
3 Nets 34
4 Heat 29
5 Heat 28
Houd er rekening mee dat alleen rijen waarvan de waarde in de puntenkolom tussen 25 en 35 ligt, zijn geselecteerd.
Merk op dat de functie between() waarden in de onder- en bovengrenzen bevat .
De speler met een puntenwaarde van 35 werd bijvoorbeeld opgenomen in het gefilterde DataFrame.
Als u in plaats daarvan alleen rijen wilt selecteren waarvan de waarde in de puntenkolom niet tussen 25 en 35 ligt , kunnen we een tilde ( ~ ) vóór de kolomnaam toevoegen:
#select rows where value in points column is not between 25 and 35
df_filtered = df[ ~ df[' points ']. between ( 25 , 35 )]
#view filtered DataFrame
print (df_filtered)
team points
0 Mavs 22
6 Kings 23
Houd er rekening mee dat alleen rijen waarvan de waarde in de puntenkolom niet tussen 25 en 35 ligt, zijn geselecteerd.
Opmerking : u kunt hier de volledige documentatie van de panda’s between()- functie vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Panda’s: selecteer rijen waarbij twee kolommen gelijk zijn
Panda’s: selecteer rijen uit DataFrame met behulp van een Booleaanse reeks
Panda’s: selecteer rijen met NaN-waarden