Векторизація обчислень для оптимізації коду на мові програмування Python
Ключові слова:
векторизація, Python оптимізація, обробка даних, півищення продуктивності, читабельність коду, розробка програмного забезпечення, обробка відсутніх данихАнотація
Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / Метод / Підхід. Для досягнення цілей дослідження ми провели порівняльний аналіз між реалізаціями з використанням циклів та з векторизацією. Зокрема, було розроблено дві версії функції для виявлення стовпців, що містять задану кількість відсутніх значень в наборі даних. Ці реалізації були протестовані на двох реальних наборах даних. Порівнювався час виконання та читабельність коду. Результати. Результати показали, що векторизація призвела до значного покращення продуктивності, зменшивши час виконання в сотні разів порівняно з традиційними методами, заснованими на циклах. Крім того, векторизований код є більш компактним, що призводить до кращої читабельності та простоти підтримки. Теоретичне значення. Векторизація забезпечує вищий рівень абстракції для виконання операцій над структурами даних. Це дозволяє розробникам зосередитися на алгоритмічній логіці, а не на керуванні ітераційними структурами, що сприяє більш широкому розгляду питань оптимізації обчислювальної ефективності в Python. Практичне значення. Для інженерів з обробки даних та аналітиків векторизація є високоефективним рішенням для оптимізації коду на Python. Вона значно прискорює виконання завдань, що вимагають великих обсягів даних, таких як імпутування відсутніх даних, аналіз даних і машинне навчання, що робить її важливим інструментом для підвищення продуктивності в середовищах, керованих даними. Оригінальність / Цінність. Це дослідження представляє практичний підхід до оптимізації коду Python за допомогою векторизації. Воно є цінним для професіоналів, які прагнуть підвищити ефективність своїх робочих процесів. Обмеження дослідження / Майбутні дослідження. Обмеження цього дослідження полягає в тому, що воно зосереджене на одному підході - векторизації. Майбутні дослідження повинні дослідити використання векторизації разом з компіляцією Just-In-Time (JIT) за допомогою таких інструментів, як Numba, для подальшого підвищення продуктивності Python. Тип статті. Практична стаття.
Завантажити
Посилання
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/
Завантаження
Опубліковано
Номер
Розділ
Ліцензія
Авторське право (c) 2024 Oleksii Zemlianyi, Oleh Baibuz (Author)

Ця робота ліцензується відповідно до ліцензії Creative Commons Attribution 4.0 International License.
Всі статті, опубліковані в журналі Challenges and Issues of Modern Science, ліцензовані за ліцензією Creative Commons Attribution 4.0 International (CC BY). Це означає, що ви можете:
- Поширювати, копіювати та передавати статтю
- Адаптувати, реміксувати та створювати похідні роботи на основі статті
за умови, що ви надаєте належне посилання на оригінальну роботу, вказуєте ім'я авторів, назву статті, журнал та наявність ліцензії CC BY. Будь-яке використання матеріалів не повинно припускати схвалення авторами або журналом використаного матеріалу.