
Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.
Наша підбірка буде розбита на дві частини: перші 8 бібліотек призначені для попередньої обробки і очищення даних від сміття, наступні 10 – для візуалізації підготовлених даних.
Бібліотеки для форматування і очищення даних
У нашому світі все заплутано і переплетено, те саме можна сказати і про інформацію. Нещодавнє дослідження показує, що на очищення даних йде до 60 % часу фахівців з Data Scienсe. І 57 % з них вважають, що це найбільш стомлива частина роботи. Щоб зробити цей процес приємнішим і швидшим, є багато бібліотек, про які ми Вам і розповімо.
Dora
Ця бібліотека призначена для розвідувального аналізу даних, а саме: для автоматизації найхворобливіших його частин, у тому числі для очищення даних – приклад її роботи можна подивитися на сторінці проекту на Github.
Datacleaner
Цей проект також може приймати на вхід дані в DataFrame (як стверджує розробник, “datacleaner не щось магічне, просто взяти необроблений текст і автоматично розпарсити його він не може”), і потім вибирає рядки з пропущеними або некоректними значеннями і виправляє їх так, як Ви йому скажете (наприклад, замінює їх на середні або медіанні значення).
PrettyPandas
DataFrames, звичайно, сильний інструмент, але він створює не ті таблиці, які Ви б хотіли показати своєму керівникові. PrettyPandas використовує pandas Style API, щоб привести датафрейми до прийнятного виду.
Tabulate
Tabulate дозволяє виводити в зручному виді списки списків (чи інші iterable структури з iterable структур), списки (чи інші структури) зі словників), двовимірні масиви NumPy, pandas.DataFrame і масиви записів NumPy. Причому вивантажувати він їх може не лише в консоль, але і в HTML, PHP або Markdown Extra, що є дуже приємним доповненням.
Scrubadub
Часто доводиться обробляти конфіденційні дані, видавати які не варто (наприклад, якщо Ви працюєте галузі охорони здоров’я чи фінансів). На допомогу приходе scrubadub, що може видаляти зі списку даних імена, телефони, URL ‘и, ідентифікатори Skype і багато іншого. Природньо, що єможливість гнучкого налаштування саме того, що Ви воліли б прибрати і в який спосіб.
Arrow
Окремою проблемою для нативного Python є робота з часом. Треба парсити рядки, враховувати часові пояси, і на все це йдуть багато рядків не дуже цікавого коду. Цю проблему має розв’язати бібліотека Arrow.
Beautifier
У цієї бібліотеки проста задача – спростити роботу з URL ‘ами і email-адресами. За її допомогою Ви можете парсити поштові адреси за доменами та іменами користувачів, а URL-адреси – за доменами і різними параметрами (наприклад, UTM ‘ам або токенам).
Ftfy
Повна назва цієї бібліотеки – Fixes text for you. Вона призначена для того, щоб перетворювати погані Unicode рядки (“quotesâ€x9d
чи ü
) на гарні Unicode-рядки ("quotes"
чи ü
відповідно).
Бібліотеки для візуалізації даних
Якщо переглядати сторінки Python Package Index, то можна знайти бібліотеки практично для будь-якого відображення даних, від GazeParser‘а для відстежування руху очей, до pastalog‘а для відображення розвитку нейронної мережі в реальному часі. Деякі із цих бібліотек вузькоспеціалізовані, а деякі можуть використовуватися майже для будь-якої задачі. У цій підбірці ми наводимо 10 універсальних Python-бібліотек для відображення даних.
Matplotlib
Seaborn
Як вже було сказано вище, Seaborn – обгортка над matplotlib, що привносить до неї поліпшення (переважно естетичні).
Ggplot
Ggplot базується на ggplot2 (система побудови графіків на мові R) і використовує принципи Grammar of Graphics. Як наслідок, робота з нею сильно відрізняється від роботи з matplotlib. Якщо вірити авторові, бібліотека не призначена для створення складних персоналізованих графіків, а зорієнтована передусім на простоту.
Bokeh
Bokeh також використовує Grammar of Graphics, проте, на відміну від ggplot, не портирована з R, а написана на самому Python. Бібліотека підтримує вивантаження у вигляді об’єктів JSON, у HTML-документи або інтерактивні веб-додатки, так само як і підтримує передачу даних у реальному часі й у вигляді потоків.
Pygal
З основних переваг цієї бібліотеки можна виділити граничну простоту, можливість вивантаження даних у SVG- файли (акуратно, при великих об’ємах даних SVG, мабуть, не варто використовувати через проблеми продуктивності) й можливість вбудовувати результат роботи у веб-додатки.
Plotly
Так само, як Pygal і Bokeh, Plotly адаптований для роботи в інтерактивних веб-додатках. Його унікальні можливості – контурні графіки, дендограми і 3D креслення.
Geoplotlib
Як можна здогадатися з назви, Geoplotlib призначена для роботи з мапами. Для її роботи потрібний Pyglet (об’єктно-орієнтований інтерфейс). Оскільки практично жодна з інших бібліотек не пропонує API для роботи з мапами, дуже приємно мати ту, яка спеціально розроблена під них.
Gleam
Ця бібліотека була написана під натхненням від пакета Shiny для мови R. Вона дозволяє перетворювати результати аналізу даних на інтерактивні веб-додатки, використовуючи тільки Python-скрипти, тобто Вам не треба знати ні HTML, ні CSS, ні JavaScript. Gleam може працювати спільно з будь-якою бібліотекою візуалізації Python. Створивши графік, Ви можете підключити до нього поля для фільтрів, щоб користувачі могли сортувати і відбирати потрібні дані.
Missingno
Якщо бібліотеки для очищення вхідних даних від пропущених полів (шляхом видалення таких записів повністю, або підстановки середніх/медіанних значень) Вам не підходять, то Ви можете легко візуалізувати повноту даних за допомогою Missingno. Бібліотека може не лише візуалізувати дані, але й сортувати їх або відбирати залежно від кореляцій зі, скажімо, дендограмами.
Leather
Творець Leather, Крістофер Гроскопф, вдало описав своє творіння: “Leather – креслярська бібліотека для Python для тих, кому потрібний графік прямо зараз, і його не хвилює наскільки він ідеальний”. Він спроектований для роботи з усіма типами даних і виводить дані в SVG, завдяки чому Ви можете масштабувати графіки без втрати якості (до речі, у нас відмінна стаття про векторні й бітові формати зображень). Бібліотека нова, тому їй все ще бракує частини документації. Креслення з її допомогою можна зробити примітивні, але цей тільки початок.
Можливо, Вам також стане в нагоді наша підбірка “10 маловідомих, але корисних бібліотек для Python”.
Адаптація публікацій “Handy Python Libraries for Formatting and Cleaning Data” і “10 Useful Python Data Visualization Libraries for Any Discipline”
Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?