Керування Категоріальними Змінними
Тепер ви працюватимете з набором даних, у якому немає пропущених значень. Значення NaN
у стовпці 'Age'
були замінені на середнє цього стовпця, а значення NaN
у стовпці 'Fare'
було видалено.
Тож настав час дізнатися, як працювати з категоріальними змінними. Категоріальні означає, що вони мають певні категорії. Наприклад, у стовпці 'Sex'
є 'male'
та 'female'
; або у стовпці 'Embarked'
— 'Q'
, 'S'
та 'C'
.
Що потрібно зробити, щоб підрахувати кількість значень у кожній категорії або отримати інформацію про них?
Ви вже знаєте про .loc[]
, .isin()
, .between()
та багато інших функцій, але у pandas існує ще більш зручний та елегантний спосіб це зробити. Використовуйте функцію .get_dummies()
. Наприклад, застосуємо її до стовпця 'Embarked'
. Подивіться на реалізацію та результат (ми виведемо імена 5 випадкових пасажирів та нові створені стовпці).
1234import 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))
Розглянемо один із можливих результатів, а саме одну з можливих комбінацій п’яти випадково вибраних рядків. Ви можете прокручувати таблицю горизонтально, щоб переглянути всі стовпці:
Пояснення:
У результаті наша функція розділила стовпець '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'
на стовпець із даммі-змінними замість категоріальних значень. Далі виведіть суму значень у кожній категорії.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 3.03
Керування Категоріальними Змінними
Свайпніть щоб показати меню
Тепер ви працюватимете з набором даних, у якому немає пропущених значень. Значення NaN
у стовпці 'Age'
були замінені на середнє цього стовпця, а значення NaN
у стовпці 'Fare'
було видалено.
Тож настав час дізнатися, як працювати з категоріальними змінними. Категоріальні означає, що вони мають певні категорії. Наприклад, у стовпці 'Sex'
є 'male'
та 'female'
; або у стовпці 'Embarked'
— 'Q'
, 'S'
та 'C'
.
Що потрібно зробити, щоб підрахувати кількість значень у кожній категорії або отримати інформацію про них?
Ви вже знаєте про .loc[]
, .isin()
, .between()
та багато інших функцій, але у pandas існує ще більш зручний та елегантний спосіб це зробити. Використовуйте функцію .get_dummies()
. Наприклад, застосуємо її до стовпця 'Embarked'
. Подивіться на реалізацію та результат (ми виведемо імена 5 випадкових пасажирів та нові створені стовпці).
1234import 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))
Розглянемо один із можливих результатів, а саме одну з можливих комбінацій п’яти випадково вибраних рядків. Ви можете прокручувати таблицю горизонтально, щоб переглянути всі стовпці:
Пояснення:
У результаті наша функція розділила стовпець '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'
на стовпець із даммі-змінними замість категоріальних значень. Далі виведіть суму значень у кожній категорії.
Рішення
Дякуємо за ваш відгук!
single