JavaRush /Курси /Python SELF UA /Фільтрація і сортування даних для аналізу і звітів

Фільтрація і сортування даних для аналізу і звітів

Python SELF UA
Рівень 27 , Лекція 4
Відкрита

1. Основи фільтрації даних у DataFrame

Навіщо потрібна фільтрація?

Як і фільтри у твоєму улюбленому додатку для селфі, фільтрація в pandas допомагає зосередитися на найважливішому. Ми можемо виключити зайві дані і залишити лише те, що дійсно має значення. Це базовий інструмент для аналізу даних, особливо коли треба підготувати звіти чи розібратися у великих наборах даних.

Наша перша фільтрація

Давайте почнемо з простого прикладу. У нас є DataFrame з інформацією про продажі товарів:

Python

import pandas as pd

data = {
    "Товар": ["Апельсини", "Банани", "Яблука", "Апельсини", "Яблука"],
    "Кількість": [10, 5, 8, 7, 6],
    "Ціна": [3.5, 2.0, 4.0, 3.0, 4.5]
}

df = pd.DataFrame(data)

# Фільтрація товарів за назвою
filtered_df = df[df["Товар"] == "Апельсини"]
print(filtered_df)

Використання умов

Ми можемо комбінувати умови, як у мультифільтрі! Наприклад, знайдемо всі товари, яких продано більше 6 одиниць за ціною не більше 3.5 одиниць:

Python

# Комбінуємо умови за допомогою & (логічне "і")
filtered_df = df[(df["Кількість"] > 6) & (df["Ціна"] <= 3.5)]
print(filtered_df)

Запам'ятовуємо важливі моменти

Не забудь, що у pandas ми використовуємо квадратні дужки для створення фільтрів і круглі для умов. Ти ж не хочеш бути "тією людиною", яка забуде ці дужки?

2. Сортування даних

Чому сортування важливе?

Сортування даних дозволяє побачити структуру і порядок у хаосі (якщо у датасетів буває хаос, звісно). Наприклад, уяви, що ти в бібліотеці, де книги хаотично розкидані — кошмар! Сортування допомагає впорядкувати інформацію, будь то для аналізу, звітів чи просто для пошуку потрібного значення.

Сортування за одним стовпцем

Давайте розставимо наш DataFrame у порядку зростання ціни товарів:

Python

# Сортування за зростанням ціни
sorted_df = df.sort_values(by="Ціна")
print(sorted_df)

Сортування за кількома стовпцями

Уяви, що потрібно відсортувати дані спочатку за кількістю, а якщо кількість однакова, за ціною і у порядку спадання. Ось як це робиться:

Python

# Сортування за кількістю і ціною
sorted_df = df.sort_values(by=["Кількість", "Ціна"], ascending=[True, False])
print(sorted_df)

Особливості сортування

Стеж за параметром ascending. Він дозволяє задати, у якому порядку (зростаючому чи спадному) ти хочеш відсортувати дані. Це зручно, якщо ти плануєш "зловісно" керувати своїми даними.

3. Застосування на практиці

Практичне завдання

Тепер час застосувати наші знання на практиці! Уяви, що ти аналітик у компанії, яка продає гаджети. Твоє завдання — знайти всі моделі телефонів, які продалися у кількості більше 100 одиниць і відсортувати їх за спаданням прибутку.

Python

# Дані про продажі телефонів
data = {
    "Модель": ["Phone X", "Phone Y", "Phone Z", "Phone X", "Phone Y"],
    "Продано": [120, 150, 90, 130, 80],
    "Прибуток": [200, 180, 220, 210, 190]
}

df = pd.DataFrame(data)

# Фільтрація моделей з продажами більше 100
filtered_df = df[df["Продано"] > 100]

# Сортування за спаданням прибутку
sorted_df = filtered_df.sort_values(by="Прибуток", ascending=False)
print(sorted_df)

Аналіз і обговорення

Використовуй комбінацію фільтрацій і сортувань для отримання даних, які дійсно цікаві та важливі для тебе чи твого звіту. Як і будь-який інший інструмент, фільтрація та сортування стають потужнішими з практикою. І не забувай, добре відформатовані дані — це не лише благословення аналітика, але й його найбільша гордість.

Типові помилки

Деякі новачки часом забувають використовувати круглі дужки в умовах фільтрації, що призводить до помилок. Це як забути поставити кришку на каструлю — все може вийти з-під контролю. Ще одна часта помилка — неправильно вказаний порядок сортування за кількома полями. Будь впевнений, що правильно використовуєш ascending, щоб не перевернути все з ніг на голову.

Практичне застосування

На практиці фільтрація і сортування — незамінні інструменти для будь-якого аналітика даних. Вони допомагають оперативно отримувати потрібні дані зі складних наборів і готувати їх для звітів. У реальному світі їх використовують усюди: від фінтеху до досліджень у медицині. Наприклад, банки можуть фільтрувати транзакції, щоб виявляти підозрілу активність, а дослідники сортують дані про випробування ліків, щоб знаходити приховані залежності. Не кажучи вже про те, що знання цих інструментів може стати корисним союзником на співбесідах.

4. Зовнішні ресурси для вивчення

Для тих, хто хоче вивчити тему глибше, рекомендую ознайомитися з офіційною документацією pandas, яка є чудовим джерелом для розуміння всіх можливостей цієї бібліотеки. Там ти знайдеш багато прикладів і пояснень, які допоможуть освоїти цей інструмент на професійному рівні.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ