Filtrering og Betinget Logik
Stryg for at vise menuen
Filtrering af data er en central del af data wrangling, især når du ønsker at fokusere på et specifikt udsnit af dit datasæt. I Polars kan du bruge booleske masker til kun at vælge de rækker, der opfylder din betingelse. Antag, at du har en DataFrame kaldet games_df med en price-kolonne. For at filtrere spil, hvor prisen er større end 20, kan du bruge følgende metode:
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)
I dette eksempel er det kun spillene med en pris over 20, der er inkluderet i filtered_df.
Du kan også bruge betinget logik til at oprette nye kolonner baseret på værdierne i eksisterende kolonner. Konstruktionen pl.when().then().otherwise() gør det muligt at kategorisere data effektivt. For eksempel kan du ønske at klassificere hvert spil i et prissegment: "Budget" for spil med en pris på 15 eller derunder, "Standard" for priser mellem 16 og 30, og "Premium" for priser over 30. Her kan du se, hvordan du tilføjer en price_tier-kolonne til din DataFrame:
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)
Denne tilgang tildeler hvert spil et niveau baseret på dets pris, hvilket gør det nemt at opdele datasættet til yderligere analyse eller visualisering.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat