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

Ви використовуєте застарілий браузер!

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

Підвищення вартості з 18 жовтня, встигніть забронювати місце за поточною ціною!

00

днів

08

годин

57

хвилин

Забронювати місце!
ШАГ логотип

Неочевидні помилки в Python Pandas під час роботи з Big Data (великим об’ємом даних)

ITSTEP Academy

Програмування

12.07.2022

1848 переглядів

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. файл читався майже три хвилини. Потім, для експерименту використовували формати parquet, feather, pickle. Результат — до 9 мілісекунд!

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

Та навіщо читати посібники? Є причина

Помилка новачка — одразу йти і робити, не читаючи фундаментальних матеріалів. До таких відносяться мануали з Python та Pandas.

Завантажити посібник можна за посиланням

Так, це забере більше часу, ніж хотілося б. Бажання піти і щось уже кодити бере вгору. А на проблеми відповідь завжди знайдеться в інтернеті. Не зовсім.

У посібнику Pandas докладно розписано всі помилки, про які ми говорили у статті. Навіть є окремий розділ роботи з BigData: як правильно завантажувати дані, у якому форматі і що писати, щоб отримати структурований DataFrame.

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

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



Автор:

Редакція Академії ITSTEP

Освіта для дорослих

Дизайн

Пробний урок

Скільки заробляє графічний дизайнер в Україні у 2025 році

Скільки заробляє графічний дизайнер в Україні у 2025 році. Середні зарплати, розподіл за рівнем досвіду, вплив міста на доходи, перспективи кар’єрного росту та особливості роботи на фрілансі для дизайнерів різних рівнів

Графічний дизайнер — це фахівець, який поєднує креативність і технології для створення візуальних рішень: від логотипів і рекламних банерів до інтерфейсів сайтів та мобільних застосунків. Його робота спрямована не лише на естетику, а й на ефективну комунікацію між брендом та аудиторією. У сучасному світі саме візуальний контент стає вирішальним фактором у просуванні продуктів і послуг. Кожна компанія — від малого бізнесу до міжнародних корпорацій — потребує якісного дизайну, який допомагає формувати імідж, залучати клієнтів та утрим

ШАГ логотип

Освіта для дорослих

Програмування

Як стати успішним DevOps-спеціалістом: покроковий гайд для початківців

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

Світ ІТ сьогодні швидко змінюється, і саме DevOps став одним із ключових напрямів, що формує нову культуру роботи команд. DevOps-інженер поєднує у собі навички розробника та системного адміністратора: він відповідає за налаштування процесів, автоматизацію, стабільність і швидкість доставки продуктів на ринок. Попит на DevOps-фахівців в Україні та світі зростає з року в рік. За даними аналітичних платформ із пошуку роботи, ця спеціальність стабільно входить у топ найзатребуваніших у сфері ІТ. Приваблює й конкурентоспроможна заробітна плата — наві

ШАГ логотип

Освіта для дорослих

Дизайн

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

AI-інструменти роблять дизайн простим: графіка, макети сайтів, відео та 3D. Навчання, практичні поради та реальні приклади допоможуть швидко отримати перші результати

Сьогодні багато хто чує про “генеративний ШІ” і думає, що це щось складне, лише для програмістів. Насправді ж ці інструменти вже зараз можуть стати у пригоді школярам від 15 років, студентам, новачкам в ІТ та навіть тим, хто хоче кардинально змінити професію. Наприклад, якщо підліток мріє малювати комікси, ШІ допоможе швидко створити ескізи персонажів. Студент, який пробує себе у дизайні, може згенерувати стильні референси для першого портфоліо. Людина, що вирішила перекваліфікуватися з іншої сфери, здатна за допомогою ШІ швидко навчитися р

ШАГ логотип

Освіта для дорослих

Програмування

Дизайн

Розробка програмного забезпечення

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

Яку зарплату отримують веб-дизайнери в Україні у 2025? Хто платить більше — українські компанії чи фриланс-клієнти? І як швидше перейти з Junior у Senior? Усе — в нашому гіді: цифри, поради, тренди та кар’єрні інсайти для майбутніх дизайнерів

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

ШАГ логотип

📝Тест!

🎯Дізнайтеся який ІТ-напрям вам підходить.

Детальніше

Цей сайт використовує Cookies

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