Suodatus ja ehdollinen logiikka
Pyyhkäise näyttääksesi valikon
Datan suodatus on olennainen osa datan käsittelyä, erityisesti kun halutaan keskittyä tietyn osajoukon tarkasteluun. Polars-kirjastossa voidaan käyttää totuusarvomaskia (Boolean mask) valitsemaan vain ne rivit, jotka täyttävät annetun ehdon. Oletetaan, että käytössä on DataFrame nimeltä games_df, jossa on sarake price. Suodattaaksesi pelit, joiden hinta on yli 20, voit käyttää seuraavaa lähestymistapaa:
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)
Tässä esimerkissä vain pelit, joiden hinta on yli 20, sisältyvät filtered_df:ään.
Ehdollista logiikkaa voidaan käyttää myös uusien sarakkeiden luomiseen olemassa olevien sarakkeiden arvojen perusteella. Rakenne pl.when().then().otherwise() mahdollistaa datan tehokkaan luokittelun. Esimerkiksi jokainen peli voidaan luokitella hintaluokkaan: "Budget" peleille, joiden hinta on 15 tai vähemmän, "Standard" hinnoille 16–30 ja "Premium" hinnoille yli 30. Alla on esimerkki siitä, miten price_tier-sarake lisätään DataFrameen:
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)
Tämä lähestymistapa luokittelee jokaisen pelin hintatason mukaan, mikä helpottaa tietojoukon segmentointia jatkoanalyysiä tai visualisointia varten.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme