Перегруппировка категорий
Чтобы лучше понять респондентов опроса из набора данных airlines, вы хотите выяснить, есть ли связь между определёнными ответами и днём недели, а также временем ожидания у выхода на посадку.
DataFrame 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)