Indexeren, filteren en booleaanse maskers
Selecteer rijen en kolommen met loc, iloc en booleaanse voorwaarden.
Indexeren, filteren en booleaanse maskers is een gratis Python Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Python Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Python Academy bevat in totaal 4 lessen.
loc versus iloc
loc selecteert op label; iloc selecteert op gehele positie. Haal ze nooit door elkaar.
import pandas as pd
df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]}, index=["x","y","z"])
print(df.loc["y"]) # row with label y
print(df.iloc[1]) # row at position 1 (same row)
print(df.loc["x":"y"]) # rows x to y inclusiveFilteren met booleaanse maskers
Maak een booleaanse Series en gebruik die om rijen te selecteren. Dit is het pandas-equivalent van booleaanse indexering in NumPy.
import pandas as pd
df = pd.DataFrame({"name":["Alice","Bob","Carol"],"age":[30,17,25]})
adults = df[df["age"] >= 18]
print(adults)
# Alice 30
# Carol 25Meerdere voorwaarden
Combineer booleaanse voorwaarden met & (en) en | (of). Zet elke voorwaarde tussen haakjes.
import pandas as pd
df = pd.DataFrame({"city":["NY","LA","NY","LA"],"score":[80,90,70,85]})
result = df[(df["city"]=="NY") & (df["score"]>75)]
print(result)Methode query()
df.query("expression") accepteert een tekenreeks met een expressie, die vaak leesbaarder is dan booleaanse maskers.
import pandas as pd
df = pd.DataFrame({"age":[30,17,25],"score":[90,80,70]})
result = df.query("age >= 18 and score > 75")
print(result)Filteren met isin()
isin(list) filtert rijen waarin de waarde van een kolom in een bepaalde lijst voorkomt.
import pandas as pd
df = pd.DataFrame({"city":["NY","LA","Chicago","NY"],"val":[1,2,3,4]})
print(df[df["city"].isin(["NY","LA"])])
# rows with NY or LAbetween() voor filteren op bereik
series.between(left, right) geeft True terug voor waarden in [left, right] — standaard inclusief de grenzen.
import pandas as pd
df = pd.DataFrame({"score":[55,70,85,95,40]})
print(df[df["score"].between(60, 90)])
# 70 and 85loc voor toewijzing
Gebruik altijd loc/iloc voor toewijzing ter plaatse, om de SettingWithCopyWarning te voorkomen.
import pandas as pd
df = pd.DataFrame({"val":[1,2,3,4]})
df.loc[df["val"] > 2, "val"] = 99
print(df)
# 0:1 1:2 2:99 3:99at en iat voor afzonderlijke waarden
at[label, col] en iat[i, j] bieden snelle toegang tot scalaire waarden — sneller dan loc/iloc voor afzonderlijke waarden.
import pandas as pd
df = pd.DataFrame({"a":[10,20],"b":[30,40]})
print(df.at[0,"a"]) # 10 (by label)
print(df.iat[1,1]) # 40 (by position)Selecteren op Dtype
select_dtypes(include/exclude) selecteert kolommen op basis van hun gegevenstype.
import pandas as pd
df = pd.DataFrame({"x":[1,2],"name":["a","b"],"score":[1.5,2.5]})
nums = df.select_dtypes(include=["number"])
print(nums.columns.tolist()) # ['x', 'score']Duplicaten verwijderen
drop_duplicates() verwijdert dubbele rijen. Geef subset op om alleen bepaalde kolommen te vergelijken.
import pandas as pd
df = pd.DataFrame({"name":["Alice","Bob","Alice"],"age":[30,25,30]})
print(df.drop_duplicates())
# keeps first Alice, removes secondnlargest en nsmallest
Selecteer efficiënt de bovenste of onderste N rijen op basis van een kolomwaarde.
import pandas as pd
df = pd.DataFrame({"product":["A","B","C","D"],"sales":[500,300,800,200]})
print(df.nlargest(2,"sales"))
# C 800
# A 500Korte controle
Wat is het verschil tussen loc en iloc?
Samenvatting
Gebruik loc[label] voor selectie op basis van labels en iloc[i] voor selectie op basis van positie. Filter rijen met booleaanse maskers die je combineert met &/|. Gebruik query() voor leesbare filters en isin() voor controles op lidmaatschap. Wijs altijd toe via loc om SettingWithCopyWarning te voorkomen.
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 76
- Lessen
- 320
Veelgestelde vragen
Is de les “Indexeren, filteren en booleaanse maskers” gratis?
Ja — de volledige tekst van “Indexeren, filteren en booleaanse maskers” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Python Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Python Academy bevat in totaal 4 lessen.
Wat leer ik in “Indexeren, filteren en booleaanse maskers”?
Selecteer rijen en kolommen met loc, iloc en booleaanse voorwaarden. Je oefent met Python Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Python Academy te beginnen?
Ervaring vooraf is niet nodig. Python Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Indexeren, filteren en booleaanse maskers”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Python Academy?
Ja. Elke les over Python Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Basisprincipes van Series en DataFrame
- Indexeren, filteren en booleaanse maskers
- GroupBy, aggregatie en draaitabellen
- Samenvoegen, koppelen en gegevens opschonen