Zacznij terazZacznij za darmo

Przemapowanie kategorii

Chcesz lepiej zrozumieć respondentów ankiety z ramki danych airlines – konkretnie zbadać, czy istnieje związek między niektórymi odpowiedziami a dniem tygodnia i czasem oczekiwania przy bramce.

Ramka danych airlines zawiera kolumny day i wait_min, które są odpowiednio kategoryczne i liczbowe. Kolumna day przechowuje dokładny dzień, w którym odbył się lot, a wait_min – liczbę minut spędzonych przez pasażerów na oczekiwanie przy bramce. Aby uprościć analizę, chcesz utworzyć dwie nowe zmienne kategoryczne:

  • wait_type: 'short' dla 0–60 min, 'medium' dla 60–180 min i long dla 180+ min
  • day_week: 'weekday', jeśli dzień jest dniem roboczym, lub 'weekend', jeśli jest dniem weekendowym.

Biblioteki pandas i numpy zostały zaimportowane jako pd i np. Czas stworzyć nowe dane kategoryczne!

To ćwiczenie jest częścią kursu

Czyszczenie danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz zakresy i etykiety dla kolumny wait_type opisane w treści ćwiczenia.
  • Utwórz kolumnę wait_type na podstawie kolumny wait_min, używając pd.cut() i podając label_ranges oraz label_names w odpowiednich argumentach.
  • Utwórz słownik mapping przypisujący dni robocze do 'weekday', a dni weekendowe do 'weekend'.
  • Utwórz kolumnę day_week, używając metody .replace().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod