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

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

Suggested prompts:

Can you explain why the order of columns in `.groupby()` matters?

What does the `.count()` method do in this context?

Can you show how the output would change if we switched the order of the columns in `.groupby()`?

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