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

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

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