Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

In deze notebook leer je de meest gebruikte technieken om rijen en kolommen te selecteren uit een DataFrame:

  • Kolomselectie

  • Boolean filtering โ€” de primaire manier om rijen te filteren

  • .loc[] en .iloc[] โ€” voor label- en positie-gebaseerde selectie

  • Sorteren en tellen

Alle technieken worden intensief gebruikt in de latere ML-notebooks.

Loading...

Kolomselectieยถ

<class 'pandas.core.series.Series'>
0 22.0 1 38.0 2 26.0 3 35.0 4 35.0 Name: age, dtype: float64
Loading...

Boolean filteringยถ

Filtering werkt net als bij NumPy: je maakt een masker van True/False-waarden en past het toe op het DataFrame.

Combineer condities met:

  • & (AND)

  • | (OR)

  • ~ (NOT)

โš ๏ธ Zet elke conditie tussen haakjes wanneer je combineert.

Number of women: 314
Loading...
First-class survivors: 136
400
400
Minors on board: 113

.loc[] โ€” label-gebaseerde selectieยถ

Met .loc[rows, columns] selecteer je op basis van indexlabels en kolomnamen.

Loading...
Loading...

.iloc[] โ€” positie-gebaseerde selectieยถ

Met .iloc[rows, columns] selecteer je op basis van gehele getallen (positie, 0-gebaseerd). Handig wanneer je de kolomnamen niet kent.

Loading...
survived 0 pclass 3 sex male age 32.0 sibsp 0 parch 0 fare 7.75 embarked Q class Third who man adult_male True deck NaN embark_town Queenstown alive no alone True Name: 890, dtype: object

Sorterenยถ

Loading...
Loading...

Unieke waarden tellenยถ

[3 1 2]
2 unique values in 'sex'
pclass
3    491
1    216
2    184
Name: count, dtype: int64

survived
0    0.62
1    0.38
Name: proportion, dtype: float64

Index resettenยถ

Na filtering klopt de index van het resulterende DataFrame niet meer aaneengesloten. Gebruik .reset_index(drop=True) om de index opnieuw te nummeren.

[0, 1, 2, 3, 4]

Oefeningenยถ

Gebruik de Tips-dataset: tips = sns.load_dataset("tips").

Loading...

Oefening 1 โ€” Selecteer alle rijen waar sex == "Female" รฉn smoker == "No". Hoeveel rijen zijn er?

Oefening 2 โ€” Gebruik .isin() om alle rijen te selecteren waar day gelijk is aan "Sat" of "Sun". Bereken het gemiddelde fooi (tip) voor die rijen.

Oefening 3 โ€” Selecteer met .loc[] de kolommen total_bill en tip voor rijen 10 t/m 19. Bereken de fooi als percentage van de rekening voor die rijen en voeg het toe als nieuwe kolom.

Oefening 4 โ€” Gebruik .value_counts() om te bepalen: op welke dag van de week is er de meeste activiteit (meeste bezoeken)? En wat is de meest voorkomende partijgrootte (size)?

Oefening 5 โ€” Sorteer de tips-dataset op total_bill van hoog naar laag en selecteer de top-10. Wat zijn de gemiddelde fooi en het gemiddeld percentage bij de top-10?