НачатьНачать бесплатно

Перегруппировка категорий

Чтобы лучше понять респондентов опроса из набора данных 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)
Редактировать и запускать код