Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Групування за кількома стовпцями | Агрегування Даних
Просунуті Техніки в Pandas

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

Додамо інформацію про метод .groupby(). Можна групувати за кількома стовпцями, але в цьому випадку порядок має вирішальне значення. У попередньому розділі ми групували дані за номером рейсу та підраховували кількість затримок. Це завдання можна ускладнити, згрупувавши не лише за стовпцем 'Flight', а й за стовпцем 'Airline'. Оновіть інформацію про набір даних і перегляньте цей простий приклад (виведено лише перші 10 рядків):

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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Пояснення:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] — стовпці, з якими буде виконуватись робота, включаючи ті, за якими здійснюється групування;
  • .groupby(['Flight', 'Airline']) — тут 'Flight' та 'Airline' є аргументами функції .groupby().

Зверніть увагу: якщо потрібно групувати за кількома стовпцями, помістіть їх у список — порядок має значення. У нашому випадку, якщо рядки набору даних мають однакове значення у стовпці 'Flight', вони належатимуть до однієї групи. Далі всередині цих груп функція знаходить інші групи для рядків з однаковим значенням у стовпці 'Airline'. Потім, завдяки методу .count(), який підраховує рядки, функція обчислить кількість рядків у стовпці 'Delay', що мають однакове значення у стовпці 'Airline' для кожної групи 'Flight'.

Завдання

Swipe to start coding

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

  1. Групування даних:
    • Витягніть стовпці 'AirportFrom', 'DayOfWeek' та 'Time' з data (саме в такому порядку);
    • Застосуйте метод .groupby() до цих стовпців;
    • У методі .groupby() вкажіть стовпці 'AirportFrom' та 'DayOfWeek'; порядок має значення;
    • Обчисліть середнє значення стовпця 'Time'.
  2. Виведіть перші 10 рядків з data_flights.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 3.03

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

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

Додамо інформацію про метод .groupby(). Можна групувати за кількома стовпцями, але в цьому випадку порядок має вирішальне значення. У попередньому розділі ми групували дані за номером рейсу та підраховували кількість затримок. Це завдання можна ускладнити, згрупувавши не лише за стовпцем 'Flight', а й за стовпцем 'Airline'. Оновіть інформацію про набір даних і перегляньте цей простий приклад (виведено лише перші 10 рядків):

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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Пояснення:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] — стовпці, з якими буде виконуватись робота, включаючи ті, за якими здійснюється групування;
  • .groupby(['Flight', 'Airline']) — тут 'Flight' та 'Airline' є аргументами функції .groupby().

Зверніть увагу: якщо потрібно групувати за кількома стовпцями, помістіть їх у список — порядок має значення. У нашому випадку, якщо рядки набору даних мають однакове значення у стовпці 'Flight', вони належатимуть до однієї групи. Далі всередині цих груп функція знаходить інші групи для рядків з однаковим значенням у стовпці 'Airline'. Потім, завдяки методу .count(), який підраховує рядки, функція обчислить кількість рядків у стовпці 'Delay', що мають однакове значення у стовпці 'Airline' для кожної групи 'Flight'.

Завдання

Swipe to start coding

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

  1. Групування даних:
    • Витягніть стовпці 'AirportFrom', 'DayOfWeek' та 'Time' з data (саме в такому порядку);
    • Застосуйте метод .groupby() до цих стовпців;
    • У методі .groupby() вкажіть стовпці 'AirportFrom' та 'DayOfWeek'; порядок має значення;
    • Обчисліть середнє значення стовпця 'Time'.
  2. Виведіть перші 10 рядків з data_flights.

Рішення

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

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

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

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

single

some-alt