Векторизація обчислень для оптимізації коду на мові програмування Python

Автор(и)

Ключові слова:

векторизація, Python оптимізація, обробка даних, півищення продуктивності, читабельність коду, розробка програмного забезпечення, обробка відсутніх даних

Анотація

Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / Метод / Підхід. Для досягнення цілей дослідження ми провели порівняльний аналіз між реалізаціями з використанням циклів та з векторизацією. Зокрема, було розроблено дві версії функції для виявлення стовпців, що містять задану кількість відсутніх значень в наборі даних. Ці реалізації були протестовані на двох реальних наборах даних. Порівнювався час виконання та читабельність коду. Результати. Результати показали, що векторизація призвела до значного покращення продуктивності, зменшивши час виконання в сотні разів порівняно з традиційними методами, заснованими на циклах. Крім того, векторизований код є більш компактним, що призводить до кращої читабельності та простоти підтримки. Теоретичне значення. Векторизація забезпечує вищий рівень абстракції для виконання операцій над структурами даних. Це дозволяє розробникам зосередитися на алгоритмічній логіці, а не на керуванні ітераційними структурами, що сприяє більш широкому розгляду питань оптимізації обчислювальної ефективності в Python. Практичне значення. Для інженерів з обробки даних та аналітиків векторизація є високоефективним рішенням для оптимізації коду на Python. Вона значно прискорює виконання завдань, що вимагають великих обсягів даних, таких як імпутування відсутніх даних, аналіз даних і машинне навчання, що робить її важливим інструментом для підвищення продуктивності в середовищах, керованих даними. Оригінальність / Цінність. Це дослідження представляє практичний підхід до оптимізації коду Python за допомогою векторизації. Воно є цінним для професіоналів, які прагнуть підвищити ефективність своїх робочих процесів. Обмеження дослідження / Майбутні дослідження. Обмеження цього дослідження полягає в тому, що воно зосереджене на одному підході - векторизації. Майбутні дослідження повинні дослідити використання векторизації разом з компіляцією Just-In-Time (JIT) за допомогою таких інструментів, як Numba, для подальшого підвищення продуктивності Python. Тип статті. Практична стаття.

PURL: https://purl.org/cims/2403.017

Завантажити

Дані для завантаження поки недоступні.

Посилання

Turner-Trauring, I. (2023, January). How vectorization speeds up your Python code. Hyphenated Enterprises LLC. https://pythonspeed.com/articles/vectorization-python/

Zemlianyi, O., & Baibuz, O. (2024). Методи імпутування пропусків у даних про ішемічну хворобу серця. System Technologies, 2(151), 33–49. https://doi.org/10.34185/1562-9945-2-151-2024-04

Janosi, A., Steinbrunn, W., Pfisterer, M., & Detrano, R. (1988). Heart Disease. UCI Machine Learning Repository. https://doi.org/10.24432/C52P4X

NHLBI. (2024). Framingham Heart Study-Cohort (FHS-Cohort). National Heart, Lung, and Blood Institute. https://biolincc.nhlbi.nih.gov/studies/framcohort/

Завантаження

Опубліковано

2024-11-26

Номер

Розділ

Інформаційні технології та кібербезпека

Як цитувати

Share