Применение библиотеки Pandas от Skillbox Media
Не уверены, как обрабатывать данные? Мы здесь, чтобы помочь вам разобраться!
Содержание:
Курс по Python без оплаты ➞ Интенсивная программа для начинающих и профессионалов. Четыре захватывающих проекта для вашего портфолио и возможность задавать вопросы эксперту. Узнайте о содержании курса!
Узнать большеАнализ данных с использованием Excel
В качестве примера возьмём таблицу из одного из наших вебинаров. Она включает в себя тысячу строк с учебной информацией, в которой собраны данные о туристах и их путешествиях:
- месячный заработок (оклад);
- родной город (city);
- возраст (age);
- Пожелания относительно типа отдыха.
- Предпочтительный способ передвижения.
- число членов семьи;
- И, в конечном счете, тот город, который путешественник решил посетить.
Мы будем использовать бесплатный сервис Google Colab, который предоставляет возможность писать и выполнять код для обработки данных непосредственно в браузере, не требуя установки каких-либо дополнительных приложений. Ознакомьтесь с нашей статьей, чтобы узнать, как приступить к его использованию.
Трансформация информации: конвертация слов в числовые значения
Столбец salary представляет собой удобный элемент для машинного обучения, поскольку он содержит исключительно числовые значения. Однако в нашей таблице также присутствуют и другие колонки, которые могут вызвать затруднения у алгоритмов — такие как названия городов, типы отпусков, предпочтения в транспорте и целевой город. Эти данные относятся к категории категориальных признаков.
Мы должны преобразовать эти текстовые признаки в числовые значения. Для этого каждое значение признака будет перенесено в отдельный столбец, который затем будет добавлен в исходную таблицу.
В колонке city представлено 11 городов. Это означает, что к исходной таблице будет добавлено 11 новых колонок, каждая из которых будет носить название соответствующего города. Например, если турист родом из Ярославля, то в колонке city_Ярославль у него будет стоять единица, а в остальных десяти колонках, посвященных другим городам, будут находиться нули.
Процесс, в ходе которого слова преобразуются в числовые значения, известен как кодирование категориальных переменных. Метод, который мы собираемся использовать, называется прямым кодированием, или, как его называют на английском, one-hot encoding. Существуют и другие, более сложные техники для преобразования нечисловых столбцов.
Аналогичным образом мы обработаем столбцы, касающиеся предпочтений в выборе типа отпуска и транспорта: если, например, один из туристов предпочитает поезд, то в только что добавленной колонке transport_preference_Поезд будет стоять единица, а в остальных столбцах — нули.
В библиотеке Pandas существует функция get_dummies(), предназначенная для выполнения прямого кодирования.
Что произошло в данном случае? Мы создали новую переменную trips_df_2, используя метод .get_dummies() из библиотеки Pandas. При этом мы перенесли данные из нашей предыдущей переменной trips_df, преобразовав значения в столбцах ‘city’, ‘vacation_preference’ и ‘transport_preference’ в отдельные колонки.
В результате мы сформировали таблицу, содержащую 24 столбца. Теперь мы можем получить перечень только названий этих столбцов, используя атрибут .columns:
Наблюдается, что предыдущие столбцы, такие как доход, возраст и размер семьи, остались без изменений, в то время как вместо категориальных переменных теперь представлено множество новых числовых данных.