Перекодування категорій
Щоб краще зрозуміти респондентів опитування з airlines, ви хочете з’ясувати, чи існує зв’язок між певними відповідями і днем тижня та часом очікування біля виходу на посадку.
Датасет airlines містить стовпці day і wait_min, які є відповідно категоріальним і числовим. У стовпці day зазначено точний день, коли відбувся рейс, а wait_min містить кількість хвилин очікування біля виходу. Щоб спростити аналіз, ви хочете створити дві нові категоріальні змінні:
wait_type:'short'для 0–60 хв,'medium'для 60–180 іlongдля 180+day_week:'weekday', якщо це будній день,'weekend', якщо це вихідний.
Пакети pandas і numpy вже імпортовано як pd і np. Створімо нові категоріальні дані!
Ця вправа є частиною курсу
Очищення даних у Python
Інструкції до вправи
- Створіть діапазони та мітки для стовпця
wait_type, як описано вище. - Створіть стовпець
wait_typeзwait_min, використавшиpd.cut(), передавшиlabel_rangesіlabel_namesу відповідні аргументи. - Створіть словник
mapping, що відображає будні дні в'weekday', а вихідні — у'weekend'. - Створіть стовпець
day_week, застосувавши.replace().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create ranges for categories
label_ranges = [0, 60, ____, np.inf]
label_names = ['short', ____, ____]
# Create wait_type column
airlines['wait_type'] = pd.____(____, bins = ____,
labels = ____)
# Create mappings and replace
mappings = {'Monday':'weekday', 'Tuesday':'____', 'Wednesday': '____',
'Thursday': '____', '____': '____',
'Saturday': 'weekend', '____': '____'}
airlines['day_week'] = airlines['day'].____(mappings)