ПочатиПочніть безкоштовно

Перекодування категорій

Щоб краще зрозуміти респондентів опитування з 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)
Редагувати та запускати код