Компьютерная Академия IT STEP - полноценное IT-образование‎ для взрослых и детей. Мы обучаем с 1999 года. Авторские методики, преподаватели-практики, 100% практических занятий.

Ваш браузер устарел!

Вы пользуетесь устаревшим браузером Internet Explorer. Данная версия браузера не поддерживает многие современные технологии, из-за чего многие страницы сайта отображаются некорректно, и могут работать не все функции. Рекомендуем просматривать сайт с помощью актуальных версий браузеров Google Chrome, Safari, Mozilla Firefox, Opera, Microsoft Edge

Black Friday

скидки на курсы до 50%

09

дн

00

ч

28

мин

ШАГ логотип

Неочевидные ошибки в Python Pandas при работе с Big Data (большими данными)

ITSTEP Academy

Программирование

12.07.2022

813 просмотров

Pandas — это инструмент для вычисления данных, разработанный на языке программирования Python. Пандас используется для коммерческих целей, искусственного интеллекта — обработать большое количество переменных и структурировать в единую систему.

Проще говоря, Пандас — это большая таблица Excel для программиста. Вот как выглядит простая схема вычисления продаж компании в Pandas:

После ввода в Pandas данные структурируются в единую систему при помощи дополнительных команд. 

В результате получаем таблицу со столбцами и строками. 

Вся таблица с данными называется DataFrame. С его помощью аналитик может построить большую цепочку действий, не прибегая к старомодному Excel или другим программам. 

Например — использовать дополнительную команду pandas (append). Она заменяет формат, представленный на картинке в одну строку. Pandas заранее запомнил большой набор данных и может представить его в простом варианте, через подобные команды.

Каждый столбец в датафрейм называется Series. Он отвечает за определенную категорию данных. В нашем примере это: общий доход (revenue), количество проданных предметов (items_sold) и новые клиенты (new_clients).

Вроде все просто: написал простую команду, добавил данные и все сохранилось в DataFrame. Но при работе с данными больше 1 ГБ (BigData)  у аналитиков возникают ошибки. И некоторые трудно заметить, особенно новичку.

С обучающим вступлением закончили. Перейдем к 5 неочевидным ошибкам в Датафрейм и Пандас. А главное — как их решить, или не попадаться вовсе.

Вы работали с объемом больше, чем позволяет обработка данных в Python Pandas

У Пандас нет многопроцессорной поддержки и он медленно работает с большими наборами данных. Приходится тратить кучу времени в ожидании, пока библиотека прочитает множество файлов, агрегирует и вычислит функции. 
 
Для эксперимента мы взяли пример пользователя из Интернета. Он загрузил в Пандас 10 файлов по 196 МБ каждый. И проверил, сколько времени займет обработка данных:

16 секунд на почти 2 ГБ памяти — это очень долго. А если программист работает с сотнями библиотек по 200 МБ, проводит 100-150 тестов? Весь рабочий день безрезультатно тратится на обработку данных.

Альтернатива — использование для BigData библиотеки Dask. Система продумана так, чтобы быстро структурировать большой объем данных. Посмотрите сами. 

На операции Python в Dask с тем же объемом потребовалось 212 миллисекунд!

Затем структурированные данные можно отдельно загрузить и просчитывать в Пандас, так как он быстрее работает именно с маленькими библиотеками.

Pandas мог неправильно прочитать типы данных

Тип данных — внутреннее представление кода, которое Python использует для расшифровки: что хранить и как управлять данными, что отнимать, а на что делить и т.д. Например, чтобы получить сумму 5+10, или объединить несколько слов в одно.

Не очевидная ошибка в том, что между Pandas, Python и NumPy существует некоторое совпадение.

Сравнение типов данных

При импортировании csv. Пандас и NumPy одновременно могут возникать ошибки, ибо никто о типе данных не позаботился. Например:

Пользователь импортировал файлы в Пандас с разных библиотек, и при считывании типов данных произошла ошибка. 

Разногласия нагружают оперативную память компьютера. Система могла работать быстрее, но мы ей помешали дополнительными библиотеками NumPy.

Советы по созданию единой базы данных

Так что сначала смотрим, что типы данных установлены правильно. Где есть ошибка — исправляем.

Стилизация базы данных через CSS 

Некоторые аналитики добавляют в блокнотики стиль, цвет и визуализацию данных кодами CSS. С одной стороны – это полезно при обработке информации. Можно найти данные по цвету или категории. С другой — новичок, которые еще не освоил Пандас в совершенстве, может неправильно стилизовать таблицу. И получить ошибку при чтении.

Для стилизации данных используется параметр style. Вот пример одной из таких визуализаций в HTML-блокноте.

Некоторые числа выделены цветами CSS, чтобы не запутаться в BigData

О правильном использовании стайлеров в библиотеке Пандас мы подробно рассказываем на одном из уроков курса по Python от Академии STEP.

Мораль: не умеете управлять Pandas и CSS одновременно — это и не так важно! Стилизация уходит на второй план, когда страдает функционал. Сначала нужно учить основы, а уже по желанию — дополнения.

Чтение CSV занимает слишком много времени

CSV-файл — один из самых простых форматов для хранения таблиц. Поэтому его любят добавлять в библиотеку Пандас. Но чтение csv. занимает больше времени, чем других форматов. Посмотрите на пример:

Такая таблица — звено в цепочке BigData. А что если нужно прочитать и структурировать более 2000 аналогичных файлов?

В примере, приведенном разработчиками, стандартный csv. файл читался почти 3 минуты. Затем, для эксперимента использовали форматы parquet, feather, pickle. Результат — до 9 миллисекунд!

Мораль: попробуйте использовать другой формат файла при работе с BigData. Возможно, у вас получится сократить время считывания в Pandas. И сохранить нервы.

Да зачем читать руководства? Вот зачем

Ошибка новичка — сразу идти и делать, не читая фундаментальные материалы. К таким относятся мануалы по Python и Pandas.

Скачать руководство можно по ссылке

Да, это отнимет больше времени, чем хотелось бы. Желание пойти и что-то уже кодить берет вверх. А на проблемы ответ всегда найдется в интернете. Не совсем. 

В руководстве Pandas подробно расписаны все ошибки, о которых мы говорили в сегодняшней статье. Даже есть отдельный раздел о работе с BigData: как правильно загружать данные, в каком формате и что писать, чтобы получить структурированный DataFrame.

Работе с Пандас, типами данных и других фишках Python мы учим в Академии STEP. Не нагружая вас тоннами литературы и руководств от разработчиков, понятно рассказываем о программировании. Закрепляем полученные знания на практике.

Уже через год наши ученики работают в компаниях, вроде IBM или eBay. Вы тоже можете стать частью команды иностранных разработчиков. Переходите на самый подробный курс по Python, чтобы не допускать ошибок новичка и стать настоящим профи.
 



АВТОР:

Редакция Компьютерной Академиии ШАГ

Программирование

Графика и дизайн

Маркетинг

Мастер класс

ТОП-10 самых востребованных на удаленке профессий в 2023 году

Мир меняется с невероятной скоростью. Недавние события, такие как глобальные пандемии и технологический бум, оказали колоссальное воздействие на рынок труда, ускоряя переход к цифровой экономике и трансформацию привычных рабочих пространств.

Мир меняется с невероятной скоростью. Недавние события, такие как глобальные пандемии и технологический бум, оказали колоссальное воздействие на рынок труда, ускоряя переход к цифровой экономике и трансформацию привычных рабочих пространств. Согласно многим исследованиям, удаленная работа не только становится новым стандартом, но и, возможно, останется ключевым элементом многих отраслей в будущем. С таким резким изменением пейзажа трудоустройства многие профессии, которые ранее считались "офисными", сегодня активно переходят в онлай

ШАГ логотип

Soft Skills

Программирование

Пробный урок

Проблемы с которыми сталкиваются новички, когда изучают программирование

Многие начинающие программисты сталкиваются с трудностями и вопросами, которые могут показаться непреодолимыми на первый взгляд. Возможно, вы испытываете затруднения с пониманием сложных концепций

Многие начинающие программисты сталкиваются с трудностями и вопросами, которые могут показаться непреодолимыми на первый взгляд. Возможно, вы испытываете затруднения с пониманием сложных концепций, заблудились в огромном объеме информации, или может быть, у вас возникли сомнения в своих способностях. Не волнуйтесь, все эти проблемы естественны на начальном этапе обучения программированию. В этой статье мы постараемся помочь вам разобраться с возможными проблемами и предоставим практические советы, которые помогут вам преодолеть эти

ШАГ логотип

Графика и дизайн

10 сайтов для заработка графического дизайнера

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

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

ШАГ логотип

Soft Skills

Программирование

Построение и понимание алгоритмов: шаг за шагом для новичков

Алгоритмы играют ключевую роль в мире программирования. Это фундаментальные инструменты для решения задач и создания программ. Независимо от вашего опыта, умение создавать эффективные алгоритмы – неотъемлемый навык для программиста. 

Алгоритмы играют ключевую роль в мире программирования. Это фундаментальные инструменты для решения задач и создания программ. Независимо от вашего опыта, умение создавать эффективные алгоритмы – неотъемлемый навык для программиста.  Кроме программирования, алгоритмы применяются во множестве областей, начиная от управления бизнес-процессами до построения маркетинговых стратегий. Без эффективных алгоритмов сложно представить себе современный мир технологий. Алгоритмы позволяют программистам решать задачи более эффективно и опт

ШАГ логотип

Этот сайт использует Cookies

Политика конфиденциальности