Групування за кількома стовпцями
Додамо інформацію про метод .groupby()
. Можна групувати за кількома стовпцями, але в цьому випадку порядок має вирішальне значення. У попередньому розділі ми групували дані за номером рейсу та підраховували кількість затримок. Це завдання можна ускладнити, згрупувавши не лише за стовпцем 'Flight'
, а й за стовпцем 'Airline'
. Оновіть інформацію про набір даних і перегляньте цей простий приклад (виведено лише перші 10 рядків):
1234import 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))
Пояснення:
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
Ваше завдання — згрупувати дані за аеропортом, з якого починається рейс, а потім за днем тижня. Обчисліть середній час для кожної групи. Дотримуйтесь алгоритму для виконання завдання:
- Групування даних:
- Витягніть стовпці
'AirportFrom'
,'DayOfWeek'
та'Time'
зdata
(саме в такому порядку); - Застосуйте метод
.groupby()
до цих стовпців; - У методі
.groupby()
вкажіть стовпці'AirportFrom'
та'DayOfWeek'
; порядок має значення; - Обчисліть середнє значення стовпця
'Time'
.
- Витягніть стовпці
- Виведіть перші
10
рядків зdata_flights
.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 3.03
Групування за кількома стовпцями
Свайпніть щоб показати меню
Додамо інформацію про метод .groupby()
. Можна групувати за кількома стовпцями, але в цьому випадку порядок має вирішальне значення. У попередньому розділі ми групували дані за номером рейсу та підраховували кількість затримок. Це завдання можна ускладнити, згрупувавши не лише за стовпцем 'Flight'
, а й за стовпцем 'Airline'
. Оновіть інформацію про набір даних і перегляньте цей простий приклад (виведено лише перші 10 рядків):
1234import 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))
Пояснення:
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
Ваше завдання — згрупувати дані за аеропортом, з якого починається рейс, а потім за днем тижня. Обчисліть середній час для кожної групи. Дотримуйтесь алгоритму для виконання завдання:
- Групування даних:
- Витягніть стовпці
'AirportFrom'
,'DayOfWeek'
та'Time'
зdata
(саме в такому порядку); - Застосуйте метод
.groupby()
до цих стовпців; - У методі
.groupby()
вкажіть стовпці'AirportFrom'
та'DayOfWeek'
; порядок має значення; - Обчисліть середнє значення стовпця
'Time'
.
- Витягніть стовпці
- Виведіть перші
10
рядків зdata_flights
.
Рішення
Дякуємо за ваш відгук!
single