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

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

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

ШАГ логотип

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

ITSTEP Academy

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

12.07.2022

1675 просмотров

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

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

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

Дизайн

Разработка Программного Обеспечения

Зарплатный компас веб-дизайнера 2025: от Junior до Art Director

Какую зарплату получают веб-дизайнеры в Украине в 2025 г. Кто платит больше - украинские компании или фриланс-клиенты? И как быстрее перейти из Junior в Senior? Все - в нашем гиде: цифры, советы, тренды и карьерные инсайты для будущих дизайнеров

Профессия веб-дизайнера остается одной из самых востребованных в сфере информационных технологий даже в 2025 году. И это совсем неудивительно: интернет-присутствие - больше не роскошь, а необходимость для бизнесов любого масштаба. Веб-сайты, интерфейсы, мобильные приложения требуют не только функциональности, но и визуальной привлекательности, удобства для пользователя, адаптивности - именно за это отвечает веб-дизайнер. За последние годы роль дизайнера значительно трансформировалась. Сегодня это не просто "художник с Фотошопом", а специа

ШАГ логотип

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

Soft-skills

Компьютерная Графика и Дизайн

Кто такой свитчер в ИТ индустрии: топ-7 историй смены профессии

Мечтаете о новой профессии в ІТ, но не знаете, с чего начать? В нашей статье - кто такие свитчеры, как они меняют карьеру, с чем сталкиваются на старте и 7 реальных историй украинцев, которые доказывают: войти в ІТ можно в любом возрасте и с любой специальности

В современном мире технологий все больше людей решают сменить профессию и попробовать себя в ІТ-сфере. Таких людей принято называть "свитчерами" - от английского career switcher, что буквально означает "тот, кто меняет карьеру". Свитчеры - это люди, которые не имели технического образования или опыта работы в ИТ, но решили освоить новую специальность в области цифровых технологий. Они приходят в сферу с очень разным профессиональным бэкграундом: кто-то работал в образовании, кто-то в сфере обслуживания, кто-то занимался искусством, а кто-то - агроном

ШАГ логотип

Дизайн

Сети и Кибербезопасность

Зарплата UX/UI-дизайнера в Украине

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

В современном цифровом мире успех любого веб-сайта или мобильного приложения во многом зависит не только от его функционала, но и от удобства и привлекательности для пользователя. Именно за это отвечает UX/UI-дизайнер - специалист, который сочетает в себе креативность, аналитическое мышление и понимание человеческих потребностей. UX (User Experience) - это опыт пользователя. UX-дизайнер изучает, как люди взаимодействуют с продуктом, и создает логичные, интуитивно понятные сценарии использования. UI (User Interface) - это внешний вид интерфейса: цвета, шрифты,

ШАГ логотип

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

Soft-skills

Перфекционизм в работе IT-специалиста: преимущество или ловушка?

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

В мире ИТ точность имеет вес золота. Здесь важна каждая запятая в коде, каждый тест, каждая секунда задержки в интерфейсе. Поэтому перфекционизм кажется почти профессиональной добродетелью. Но всегда ли стремление к идеалу - это сила, а не ловушка? Давайте посмотрим на типичный пример. Разработчик работает над фичей, которая уже полностью функционирует. Но он не доволен: хочет "переписать красивее", оптимизировать цикл, переназвать переменные. Проект задерживается. Команда ждет. Заказчик нервничает. А идеальный код так и не попадает в релиз.

ШАГ логотип

📝Тест!

🎯Узнайте какое ИТ-направление подходит вашему ребенку.

Узнать больше

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

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