Panda's: selecteer rijen uit dataframe met behulp van een booleaanse reeks
U kunt de volgende basissyntaxis gebruiken om rijen in een Panda DataFrame te selecteren op basis van de waarden van een Booleaanse reeks:
#define boolean series bools = pd. Series ([ True , False , True , True , False , False , False , True ]) #select rows in DataFrame based on values in boolean series df[bools. values ]
Hierdoor kunt u elk van de rijen in het Panda DataFrame selecteren waarbij de overeenkomstige waarde in de Booleaanse reeks True is.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Selecteer rijen in Pandas DataFrame met behulp van een Booleaanse reeks
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18 5 11 1 B 22 7 8 2 C 19 7 10 3 D 14 9 6 4 E 14 12 6 5 F 11 9 5 6 G 20 9 9 7:28 4 12
We kunnen de volgende syntaxis gebruiken om alle rijen in het DataFrame te selecteren waar de overeenkomstige waarde in een Booleaanse reeks True is:
#define boolean series bools = pd. Series ([ True , False , True , True , False , False , False , True ]) #select rows in DataFrame based on values in boolean series df[bools. values ] team points assists rebounds 0 A 18 5 11 2 C 19 7 10 3 D 14 9 6 7:28 4 12
Houd er rekening mee dat de enige rijen die worden geretourneerd de rijen zijn waarvoor de corresponderende waarde in de Booleaanse reeks True is.
Houd er ook rekening mee dat u de volgende syntaxis kunt gebruiken om alleen rijen in de kolom „punten“ van het DataFrame te selecteren waarbij de overeenkomstige waarde in de Booleaanse reeks True is.
#define boolean series bools = pd. Series ([ True , False , True , True , False , False , False , True ]) #select rows in points column based on values in boolean series df[' points '][bools. values ] 0 18 2 19 3 14 7 28 Name: points, dtype: int64
Houd er rekening mee dat de enige rijen die door de kolom „punten“ worden geretourneerd, de rijen zijn waarin de overeenkomstige waarde in de Booleaanse reeks True is.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in panda’s kunt uitvoeren:
Hoe rijen te filteren op basis van tekenreekslengte in Pandas
Hoe rijen zonder NaN-waarden in Panda’s te selecteren
Hoe u rijen selecteert op basis van kolomwaarden in Pandas