Фільтрація та умовна логіка
Свайпніть щоб показати меню
Фільтрація даних — ключовий етап підготовки даних, особливо коли потрібно зосередитися на певній підмножині набору даних. У Polars можна використовувати булеві маски для вибору лише тих рядків, які відповідають вашій умові. Припустимо, у вас є DataFrame з назвою games_df зі стовпцем price. Щоб відфільтрувати ігри, де ціна перевищує 20, скористайтеся наступним підходом:
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)
У цьому прикладі до filtered_df потрапляють лише ігри з ціною понад 20.
Також можна використовувати умовну логіку для створення нових стовпців на основі значень існуючих. Конструкція pl.when().then().otherwise() дозволяє ефективно категоризувати дані. Наприклад, можна класифікувати кожну гру за ціновим сегментом: "Budget" для ігор з ціною 15 або менше, "Standard" для цін від 16 до 30, і "Premium" для цін понад 30. Ось як можна додати стовпець price_tier до 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)
Цей підхід призначає кожній грі категорію відповідно до її ціни, що спрощує сегментацію набору даних для подальшого аналізу або візуалізації.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат