JavaRush /Курси /Python SELF UA /Підготовка даних для звітів за допомогою методів pandas

Підготовка даних для звітів за допомогою методів pandas

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

1. Структурування даних для звітів

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

Зведені таблиці: наш звітний швейцарський ніж

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

Уяви, що у тебе є дані про продажі у магазині:

Python

import pandas as pd

data = {
    'Продукт': ['Апельсин', 'Яблуко', 'Банан', 'Апельсин', 'Банан', 'Яблуко'],
    'Місяць': ['Січень', 'Січень', 'Січень', 'Лютий', 'Лютий', 'Лютий'],
    'Продажі': [150, 200, 250, 130, 180, 210]
}

df = pd.DataFrame(data)

Щоб створити зведену таблицю, де буде показано загальну суму продажів кожного продукту за кожен місяць, використовуємо pivot_table.

Python

pivot_df = df.pivot_table(values='Продажі', index='Продукт', columns='Місяць', aggfunc='sum')
print(pivot_df)

Цей простий приклад демонструє, як можна швидко агрегувати дані за категоріями та датами — ідеальна основа для звітів.

2. Використання методів pandas для підготовки даних

Метод pivot_table

Метод pivot_table є надзвичайно гнучким і дозволяє не лише сумувати дані, а й застосовувати інші агрегаційні функції, такі як mean, count і т.д. Давай розглянемо, як розгорнути дані, щоб показати середнє значення продажів:

Python

pivot_mean_df = df.pivot_table(values='Продажі', index='Продукт', columns='Місяць', aggfunc='mean')
print(pivot_mean_df)

Метод crosstab

Метод crosstab в pandas нагадує зведені таблиці, але використовується для частотного обчислення. Уяви, що ми хочемо порахувати, скільки разів кожен продукт продавався в різні місяці:

Python

cross_df = pd.crosstab(df['Продукт'], df['Місяць'])
print(cross_df)

Цей метод корисний, коли потрібно вивчити розподіл даних серед категорій або проаналізувати частоту подій.

3. Налаштування відображення даних за допомогою багатомірних індексів

Багатомірні індекси

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

Python

data['Рік'] = [2023, 2023, 2023, 2024, 2024, 2024]
df = pd.DataFrame(data)

multi_pivot_df = df.pivot_table(values='Продажі', index=['Рік', 'Продукт'], columns='Місяць', aggfunc='sum')
print(multi_pivot_df)

Тепер наші дані агреговані за роками і продуктами, що робить їх більш інформативними.

4. Практика і аналіз

Давай застосуємо, що ми вивчили на практиці. Завдання: підготувати дані для звітності про продажі.

Уяви, що у тебе є такі дані про продажі:

Python

data = {
    'Продукт': ['Апельсин', 'Апельсин', 'Яблуко', 'Яблуко', 'Банан', 'Банан'],
    'Місяць': ['Січень', 'Лютий', 'Січень', 'Лютий', 'Січень', 'Лютий'],
    'Рік': [2023, 2023, 2024, 2024, 2023, 2024],
    'Продажі': [150, 200, 180, 220, 120, 130]
}

df = pd.DataFrame(data)

Твоє завдання — створити зведену таблицю, яка б показувала загальну суму продажів для кожного продукту за кожен місяць, включаючи сумарні дані за роками.

Python

pivot_total_df = df.pivot_table(values='Продажі', index=['Рік', 'Продукт'], columns='Місяць', aggfunc='sum', margins=True, margins_name='Разом')
print(pivot_total_df)

Цей рядок «Разом» покаже суму по всім категоріям, що часто потрібно для повного огляду.

5. Обговорення стратегій представлення даних і аналізу

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

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

Коментарі (1)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
vova_yu Рівень 64
16 травня 2025
помилка у вхідних даних: 'ім\'я студента'