Filteren en Conditionele Logica
Veeg om het menu te tonen
Het filteren van gegevens is een essentieel onderdeel van data wrangling, vooral wanneer je je wilt richten op een specifieke subset van je dataset. In Polars kun je Booleaanse maskers gebruiken om alleen de rijen te selecteren die aan je voorwaarde voldoen. Stel dat je een DataFrame hebt genaamd games_df met een kolom price. Om te filteren op spellen waarvan de prijs hoger is dan 20, kun je de volgende aanpak gebruiken:
1234567891011import polars as pl # Example DataFrame games_df = pl.DataFrame({ "name": ["Chess", "Monopoly", "Scrabble", "Catan", "Pandemic"], "price": [10, 25, 15, 35, 22] }) # Filter games with price > 20 filtered_df = games_df.filter(pl.col("price") > 20) print(filtered_df)
In dit voorbeeld worden alleen de spellen met een prijs boven de 20 opgenomen in filtered_df.
Je kunt ook conditionele logica gebruiken om nieuwe kolommen te maken op basis van de waarden van bestaande kolommen. De pl.when().then().otherwise()-constructie maakt het mogelijk om gegevens efficiënt te categoriseren. Je kunt bijvoorbeeld elk spel indelen in een prijscategorie: "Budget" voor spellen met een prijs van 15 of lager, "Standard" voor prijzen tussen 16 en 30, en "Premium" voor prijzen boven de 30. Hieronder zie je hoe je een kolom price_tier aan je DataFrame kunt toevoegen:
12345678910games_with_tier = games_df.with_columns( pl.when(pl.col("price") <= 15) .then("Budget") .when((pl.col("price") > 15) & (pl.col("price") <= 30)) .then("Standard") .otherwise("Premium") .alias("price_tier") ) print(games_with_tier)
Met deze aanpak wordt elk spel toegewezen aan een categorie op basis van de prijs, waardoor het eenvoudig is om de dataset te segmenteren voor verdere analyse of visualisatie.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.