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

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

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

ШАГ логотип

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

ITSTEP Academy

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

12.07.2022

1924 просмотра

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, чтобы не допускать ошибок новичка и стать настоящим профи.
 



АВТОР:

Редакция Академии ITSTEP

Образование для взрослых

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

Soft-skills

Кто такой Data Scientist в компании: пошаговая инструкция для успешной карьеры

Как стать Data Scientist и работать с данными в Украине и за рубежом? Узнай, какие навыки нужны, как составлять портфолио, проходить стажировку и найти первую работу. Пошаговая инструкция и советы от ITSTEP Academy помогут начать карьеру.

Data Science – это одна из самых динамичных и прибыльных отраслей современного IT-мира. Каждая компания, от стартапа до международного холдинга, сегодня стремится принимать решения, опираясь на данные. Именно поэтому спрос на специалистов, умеющих собирать, анализировать и интерпретировать информацию, постоянно растет. В Украине рынок Data Science активно развивается: крупные банки, e-commerce компании, медиа, агробизнес и даже государственные структуры ищут аналитиков данных и Data Scientists. По данным украинских HR-платформ, зарплаты в сфере Data Science одни из са

ШАГ логотип

Образование для взрослых

Дизайн

Сколько зарабатывает графический дизайнер в Украине в 2025 году

Сколько зарабатывает графический дизайнер в Украине в 2025 году. Средние зарплаты, распределение по уровню опыта, влияние города на доходы, перспективы карьерного роста и особенности работы на фрилансе для дизайнеров разных уровней

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

ШАГ логотип

Образование для взрослых

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

Как стать успешным DevOps-специалистом: пошаговое руководство для начинающих

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

Мир ИТ сегодня быстро меняется, и именно DevOps стал одним из ключевых направлений, формирующих новую культуру работы команд. DevOps-инженер сочетает в себе навыки разработчика и системного администратора: он отвечает за настройку процессов, автоматизацию, стабильность и скорость доставки продуктов на рынок. Спрос на DevOps-специалистов в Украине и мире растет из года в год. По данным аналитических платформ по поиску работы, эта специальность стабильно входит в топ самых востребованных в сфере ИТ. Привлекает и конкурентоспособная заработная пла

ШАГ логотип

Образование для взрослых

Дизайн

AI инструменты для дизайнеров: гид по ИИ-сервисам для графики, UI/UX, видео и 3D

AI-инструменты упрощают дизайн: графика, макеты сайтов, видео и 3D. Обучение, практические советы и реальные примеры помогут быстро получить первые результаты.

Сегодня многие слышат о «генеративном ИИ» и думают, что это что-то сложное, только для программистов. На самом деле эти инструменты уже сейчас могут пригодиться школьникам от 15 лет, студентам, новичкам в ИТ и даже тем, кто хочет кардинально сменить профессию. Например, если подросток мечтает рисовать комиксы, ИИ поможет быстро создать эскизы персонажей. Студент, который пробует себя в дизайне, может сгенерировать стильные референсы для первого портфолио. Человек, решивший переквалифицироваться из другой сферы, способен с помощью ИИ быстро

ШАГ логотип

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

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