Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Керування Категоріальними Змінними | Попередня Обробка Даних
Просунуті Техніки в Pandas

bookКерування Категоріальними Змінними

Тепер ви працюватимете з набором даних, у якому немає пропущених значень. Значення NaN у стовпці 'Age' були замінені на середнє цього стовпця, а значення NaN у стовпці 'Fare' було видалено. Тож настав час дізнатися, як працювати з категоріальними змінними. Категоріальні означає, що вони мають певні категорії. Наприклад, у стовпці 'Sex' є 'male' та 'female'; або у стовпці 'Embarked''Q', 'S' та 'C'.

Що потрібно зробити, щоб підрахувати кількість значень у кожній категорії або отримати інформацію про них?

Ви вже знаєте про .loc[], .isin(), .between() та багато інших функцій, але у pandas існує ще більш зручний та елегантний спосіб це зробити. Використовуйте функцію .get_dummies(). Наприклад, застосуємо її до стовпця 'Embarked'. Подивіться на реалізацію та результат (ми виведемо імена 5 випадкових пасажирів та нові створені стовпці).

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
copy

Розглянемо один із можливих результатів, а саме одну з можливих комбінацій п’яти випадково вибраних рядків. Ви можете прокручувати таблицю горизонтально, щоб переглянути всі стовпці:

Пояснення:

У результаті наша функція розділила стовпець 'Embarked' на три стовпці: 'Embarked_C', 'Embarked_Q', 'Embarked_S'. Загалом маємо три категорії. Кожен пасажир має свою категорію у стовпці 'Embarked'. Таким чином, функція створює три стовпці, що відповідають кожній категорії, і для кожного пасажира заповнює рядок у відповідному стовпці значенням 1, якщо особа спочатку була пов'язана з цією географією; інакше — ставить 0. Таким чином, 1 з'являється лише в одному стовпці.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() — ця функція перетворює категоріальні змінні на даммі (1 або 0);
  • data — датафрейм, який ви хочете використати;
  • columns = ['Embarked'] — стовпці, які містять категоріальні змінні, що потрібно перетворити на даммі. Зверніть увагу: назви стовпців обов'язково потрібно вказувати у списку.
Завдання

Swipe to start coding

Ваше завдання — перетворити стовпець 'Sex' на стовпець із даммі-змінними замість категоріальних значень. Далі виведіть суму значень у кожній категорії.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 6
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain why we use dummy variables instead of keeping the original categorical columns?

How can I use get_dummies() for multiple columns at once?

What should I do if my categorical column has many unique values?

close

Awesome!

Completion rate improved to 3.03

bookКерування Категоріальними Змінними

Свайпніть щоб показати меню

Тепер ви працюватимете з набором даних, у якому немає пропущених значень. Значення NaN у стовпці 'Age' були замінені на середнє цього стовпця, а значення NaN у стовпці 'Fare' було видалено. Тож настав час дізнатися, як працювати з категоріальними змінними. Категоріальні означає, що вони мають певні категорії. Наприклад, у стовпці 'Sex' є 'male' та 'female'; або у стовпці 'Embarked''Q', 'S' та 'C'.

Що потрібно зробити, щоб підрахувати кількість значень у кожній категорії або отримати інформацію про них?

Ви вже знаєте про .loc[], .isin(), .between() та багато інших функцій, але у pandas існує ще більш зручний та елегантний спосіб це зробити. Використовуйте функцію .get_dummies(). Наприклад, застосуємо її до стовпця 'Embarked'. Подивіться на реалізацію та результат (ми виведемо імена 5 випадкових пасажирів та нові створені стовпці).

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/titanic3.csv', index_col = 0) data = pd.get_dummies(data, columns = ['Embarked']) print(data[['Name', 'Embarked_C', 'Embarked_Q', 'Embarked_S']].sample(5))
copy

Розглянемо один із можливих результатів, а саме одну з можливих комбінацій п’яти випадково вибраних рядків. Ви можете прокручувати таблицю горизонтально, щоб переглянути всі стовпці:

Пояснення:

У результаті наша функція розділила стовпець 'Embarked' на три стовпці: 'Embarked_C', 'Embarked_Q', 'Embarked_S'. Загалом маємо три категорії. Кожен пасажир має свою категорію у стовпці 'Embarked'. Таким чином, функція створює три стовпці, що відповідають кожній категорії, і для кожного пасажира заповнює рядок у відповідному стовпці значенням 1, якщо особа спочатку була пов'язана з цією географією; інакше — ставить 0. Таким чином, 1 з'являється лише в одному стовпці.

pd.get_dummies(data, columns = ['Embarked'])
  • pd.get_dummies() — ця функція перетворює категоріальні змінні на даммі (1 або 0);
  • data — датафрейм, який ви хочете використати;
  • columns = ['Embarked'] — стовпці, які містять категоріальні змінні, що потрібно перетворити на даммі. Зверніть увагу: назви стовпців обов'язково потрібно вказувати у списку.
Завдання

Swipe to start coding

Ваше завдання — перетворити стовпець 'Sex' на стовпець із даммі-змінними замість категоріальних значень. Далі виведіть суму значень у кожній категорії.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 6
single

single

some-alt