Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Розширене групування | Агрегування Даних
Обробка Даних з Pandas

bookРозширене групування

Розширимо наші знання про метод .groupby(). Як ви пам'ятаєте, ми можемо використовувати метод .agg(). Основна перевага цієї функції полягає в тому, що ми можемо застосовувати різні функції до числових стовпців з одним ключем групування. Розгляньте приклад, де ми згрупували рейси за стовпцем 'Airline', потім підрахували значення у 'Delay' для кожної 'Airline' та обчислили мінімальні й максимальні значення для стовпця 'Length'. Дуже зручно, чи не так?

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
copy

Пояснення:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg() — метод, який дозволяє застосовувати функції до серії або до кожного елемента окремо;
  • {} — використовуються фігурні дужки для вказання стовпця та безпосереднього застосування функцій до них;
  • 'Delay': 'count' — застосовує функцію .count() до значень у стовпці 'Delay' з однаковим ключем групування;
  • 'Length': ['min', 'max'] — застосовує функції .min() та .max() до значень у стовпці 'Length' з однаковим ключем групування. Зверніть увагу: якщо потрібно застосувати кілька функцій до одного стовпця, їх необхідно помістити у список. Для функції достатньо вказати лише назву стовпця без символів () або ..
Завдання

Swipe to start coding

Ваше завдання — детальніше проаналізувати середній та максимальний час затримки залежно від аеропорту, з якого починався рейс, а також аеропорту, в якому рейс завершувався. Також розгляньте медіанне значення тривалості польоту. Дотримуйтесь такого алгоритму:

Групування даних:

  • Застосуйте метод .groupby() до набору даних data;
  • У методі .groupby() вкажіть стовпці 'AirportFrom' та 'AirportTo'; порядок має значення;
  • За допомогою методу .agg() обчисліть агреговані значення: середнє та максимальне значення у стовпці 'Time', а також медіанне значення у стовпці 'Length'.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain what the output of this code would look like?

What other functions can I use with `.agg()` besides 'count', 'min', and 'max'?

How can I group by multiple columns using `.groupby()` and `.agg()`?

close

bookРозширене групування

Свайпніть щоб показати меню

Розширимо наші знання про метод .groupby(). Як ви пам'ятаєте, ми можемо використовувати метод .agg(). Основна перевага цієї функції полягає в тому, що ми можемо застосовувати різні функції до числових стовпців з одним ключем групування. Розгляньте приклад, де ми згрупували рейси за стовпцем 'Airline', потім підрахували значення у 'Delay' для кожної 'Airline' та обчислили мінімальні й максимальні значення для стовпця 'Length'. Дуже зручно, чи не так?

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
copy

Пояснення:

.agg({'Delay': 'count', 'Length': ['min', 'max']})
  • .agg() — метод, який дозволяє застосовувати функції до серії або до кожного елемента окремо;
  • {} — використовуються фігурні дужки для вказання стовпця та безпосереднього застосування функцій до них;
  • 'Delay': 'count' — застосовує функцію .count() до значень у стовпці 'Delay' з однаковим ключем групування;
  • 'Length': ['min', 'max'] — застосовує функції .min() та .max() до значень у стовпці 'Length' з однаковим ключем групування. Зверніть увагу: якщо потрібно застосувати кілька функцій до одного стовпця, їх необхідно помістити у список. Для функції достатньо вказати лише назву стовпця без символів () або ..
Завдання

Swipe to start coding

Ваше завдання — детальніше проаналізувати середній та максимальний час затримки залежно від аеропорту, з якого починався рейс, а також аеропорту, в якому рейс завершувався. Також розгляньте медіанне значення тривалості польоту. Дотримуйтесь такого алгоритму:

Групування даних:

  • Застосуйте метод .groupby() до набору даних data;
  • У методі .groupby() вкажіть стовпці 'AirportFrom' та 'AirportTo'; порядок має значення;
  • За допомогою методу .agg() обчисліть агреговані значення: середнє та максимальне значення у стовпці 'Time', а також медіанне значення у стовпці 'Length'.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4
single

single

some-alt