Полезные Python-библиотеки для форматирования и очистки данных

Реальный мир беспорядочен и неоднороден. Как результат, данные в этом мире обладают теми же свойствами. Недавний опрос показал, что data scientist’ы тратят около 60% своего времени на очистку данных. К сожалению, 57% специалистов считают этот аспект своей работы наименее приятным.

Очистка данных может быть очень трудоемким процессом. К счастью, в настоящее время появилось множество инструментов, облегчающих выполнение этой ключевой обязанности. Python-сообщество предоставляет в наше распоряжение массу библиотек для очистки и форматирования данных, которые позволяют выполнять широкий спектр задач от стилизации таблиц до анонимизации данных.

Жаль, что очистка данных для data scientist’ов является не таким веселым занятием, как уборка для этого малыша.

Dora

Библиотека Dora предназначена для исследовательского анализа, в частности, для автоматизации наиболее трудоемких его этапов, таких как извлечение признаков, отбор признаков и визуализация. В арсенале библиотеки присутствуют следующие функции:

  • Чтение данных с отсутствующими значениями и различными масштабами величин.

  • Подстановка отсутствующих значений.

  • Масштабирование величин.

Разработчик: Натан Эпштейн (Nathan Epstein).

Подробнее: https://github.com/NathanEpstein/Dora.

datacleaner

Как и следует из названия, библиотека предназначена для очистки и предобработки данных. Обратите внимание, datacleaner работает только с данными, представленными в формате pandas DataFrame.

По словам разработчика, datacleaner – это не волшебная палочка. Библиотека не сможет просто взять и магически выполнить парсинг «сырого» текста. Тем не менее она поможет вам решить другие важные задачи, такие как удаление строк с отсутствующими значениями, подстановка вместо отсутствующих значений моды или медианы по каждому столбцу, а также кодирование нечисловых признаков числовыми эквивалентами.

Библиотека появилась сравнительно недавно, но, учитывая тот факт, что формат DataFrame является основополагающим при анализе данных с помощью Python, ее стоит попробовать.

Разработчик: Рэнди Олсон (Randy Olson).

Подробнее: https://github.com/rhiever/datacleaner.

PrettyPandas

Структура данных DataFrame является мощным инструментом, но внешний вид таблиц на ее основе вряд ли понравится вашему начальству. В этом вопросе нам на помощь приходит библиотека PrettyPandas, в основе которой лежит API для стилизации, реализованный в pandas (pandas Style API). PrettyPandas позволяет превратить обычный DataFrame в таблицу презентационного уровня. В частности, мы можем изменять стиль, добавлять сводные данные по строкам и столбцам, форматировать числа и т.д. В качестве бонуса библиотека имеет подробную, легкую для восприятия документацию.

Разработчик: Генри Хаммонд (Henry Hammond).

Подробнее: https://github.com/HHammond/PrettyPandas.

tabulate

Библиотека tabulate позволяет выводить на экран компактные приятные для глаза таблицы посредством всего лишь одного вызова функции. Следует отметить следующие возможности: выравнивание чисел в столбцах по десятичному разделителю, форматирование чисел, создание заголовков и т.д. Весь этот функционал позволяет значительно улучшить читаемость таблиц.

Одной из наиболее полезных особенностей является возможность выводить данные в различных форматах, таких как HTML, PHP Markdown Extra и др. Благодаря этому пользователь может продолжать работу над таблицей, используя другой инструмент или язык.

Разработчик: Сергей Астанин (Sergey Astanin).

Подробнее: https://pypi.python.org/pypi/tabulate.

scrubadub

Data scientist’ам, работающим в сфере здравоохранения и финансов, часто приходится анонимизировать данные. Scrubadub позволяет удалять следующие персональные данные:

  • имена собственные;

  • email-адреса;

  • URL-адреса;

  • номера телефонов;

  • комбинации логин/пароль;

  • имена пользователей Skype;

  • номера социального страхования;

Документация содержит подробное руководство по настройке библиотеки. Пользователь может создавать новые типы персональных данных, а также явно указывать, какие типы персональных данных подлежат удалению.

Разработчик: Datascope Analytics.

Подробнее: http://scrubadub.readthedocs.io/en/stable/index.html.

Arrow

Будем откровенными: работать с датами и временем на Python достаточно трудно. Локальный часовой пояс не определяется автоматически. Чтобы преобразовать часовые пояса и время необходимо писать несколько строк кода.

Решением проблемы является Arrow, созданная для того, чтобы заполнить пробелы в функциональности и позволить пользователю оперировать датами и временем посредством меньшего объема кода. В отличие от стандартной библиотеки Python, Arrow автоматически определяет локальный часовой пояс и по умолчанию использует UTC. Библиотека обеспечивает преобразование часовых поясов, дат и времени в одну строку кода.

Разработчик: Крис Смит (Chris Smith).

Подробнее: http://arrow.readthedocs.io/en/latest/.

Beautifier

Библиотека Beautifier предназначена для обработки URL-адресов и email-адресов. В частности, из email-адресов мы можем выделять домен и имя пользователя, а из URL-адресов – домен и параметры, например, UTM-параметры или токены.

Разработчик: Сачин Филип Мэттью (Sachin Philip Mathew).

Подробнее: https://github.com/sachinvettithanam/beautifier.

ftfy

Название является аббревиатурой фразы, означающей «исправляет текст для вас» (fixes text for you). Данная библиотека принимает на входе некорректный юникод и исправляет его. Например:

  • “quotesâ€\x9d превращается в «quotes»;

  • ü превращается в ü;

  • &lt;3 превращается в <3.

Если вы ежедневно работаете с текстом, эта библиотека может очень пригодиться.

Разработчик: Luminoso.

Подробнее: https://github.com/LuminosoInsight/python-ftfy.

Вам также может понравиться

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =