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

Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / М...

Full description

Saved in:
Bibliographic Details
Main Authors: Олексій Земляний, Олег Байбуз
Format: Article
Language:English
Published: Oles Honchar Dnipro National University 2024-11-01
Series:Challenges and Issues of Modern Science
Subjects:
Online Access:https://cims.fti.dp.ua/j/article/view/215
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1823858953429188608
author Олексій Земляний
Олег Байбуз
author_facet Олексій Земляний
Олег Байбуз
author_sort Олексій Земляний
collection DOAJ
description Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / Метод / Підхід. Для досягнення цілей дослідження ми провели порівняльний аналіз між реалізаціями з використанням циклів та з векторизацією. Зокрема, було розроблено дві версії функції для виявлення стовпців, що містять задану кількість відсутніх значень в наборі даних. Ці реалізації були протестовані на двох реальних наборах даних. Порівнювався час виконання та читабельність коду. Результати. Результати показали, що векторизація призвела до значного покращення продуктивності, зменшивши час виконання в сотні разів порівняно з традиційними методами, заснованими на циклах. Крім того, векторизований код є більш компактним, що призводить до кращої читабельності та простоти підтримки. Теоретичне значення. Векторизація забезпечує вищий рівень абстракції для виконання операцій над структурами даних. Це дозволяє розробникам зосередитися на алгоритмічній логіці, а не на керуванні ітераційними структурами, що сприяє більш широкому розгляду питань оптимізації обчислювальної ефективності в Python. Практичне значення. Для інженерів з обробки даних та аналітиків векторизація є високоефективним рішенням для оптимізації коду на Python. Вона значно прискорює виконання завдань, що вимагають великих обсягів даних, таких як імпутування відсутніх даних, аналіз даних і машинне навчання, що робить її важливим інструментом для підвищення продуктивності в середовищах, керованих даними. Оригінальність / Цінність. Це дослідження представляє практичний підхід до оптимізації коду Python за допомогою векторизації. Воно є цінним для професіоналів, які прагнуть підвищити ефективність своїх робочих процесів. Обмеження дослідження / Майбутні дослідження. Обмеження цього дослідження полягає в тому, що воно зосереджене на одному підході - векторизації. Майбутні дослідження повинні дослідити використання векторизації разом з компіляцією Just-In-Time (JIT) за допомогою таких інструментів, як Numba, для подальшого підвищення продуктивності Python. Тип статті. Практична стаття. PURL: https://purl.org/cims/2403.017
format Article
id doaj-art-f80405d1078140fa99a3875a4ffc7714
institution Kabale University
issn 3083-5704
language English
publishDate 2024-11-01
publisher Oles Honchar Dnipro National University
record_format Article
series Challenges and Issues of Modern Science
spelling doaj-art-f80405d1078140fa99a3875a4ffc77142025-02-11T09:48:09ZengOles Honchar Dnipro National UniversityChallenges and Issues of Modern Science3083-57042024-11-013Векторизація обчислень для оптимізації коду на мові програмування PythonОлексій Земляний0https://orcid.org/0009-0001-6157-8725Олег Байбуз1https://orcid.org/0000-0001-7489-6952Дніпровський національний університет імені Олеся ГончараДніпровський національний університет імені Олеся Гончара Мета. Метою цього дослідження є вивчення векторизації як інженерної техніки для покращення продуктивності та читабельності коду Python, зокрема в задачах обробки даних. Ми прагнемо продемонструвати переваги векторизації на практичних прикладах, пов'язаних з обробкою відсутніх даних. Дизайн / Метод / Підхід. Для досягнення цілей дослідження ми провели порівняльний аналіз між реалізаціями з використанням циклів та з векторизацією. Зокрема, було розроблено дві версії функції для виявлення стовпців, що містять задану кількість відсутніх значень в наборі даних. Ці реалізації були протестовані на двох реальних наборах даних. Порівнювався час виконання та читабельність коду. Результати. Результати показали, що векторизація призвела до значного покращення продуктивності, зменшивши час виконання в сотні разів порівняно з традиційними методами, заснованими на циклах. Крім того, векторизований код є більш компактним, що призводить до кращої читабельності та простоти підтримки. Теоретичне значення. Векторизація забезпечує вищий рівень абстракції для виконання операцій над структурами даних. Це дозволяє розробникам зосередитися на алгоритмічній логіці, а не на керуванні ітераційними структурами, що сприяє більш широкому розгляду питань оптимізації обчислювальної ефективності в Python. Практичне значення. Для інженерів з обробки даних та аналітиків векторизація є високоефективним рішенням для оптимізації коду на Python. Вона значно прискорює виконання завдань, що вимагають великих обсягів даних, таких як імпутування відсутніх даних, аналіз даних і машинне навчання, що робить її важливим інструментом для підвищення продуктивності в середовищах, керованих даними. Оригінальність / Цінність. Це дослідження представляє практичний підхід до оптимізації коду Python за допомогою векторизації. Воно є цінним для професіоналів, які прагнуть підвищити ефективність своїх робочих процесів. Обмеження дослідження / Майбутні дослідження. Обмеження цього дослідження полягає в тому, що воно зосереджене на одному підході - векторизації. Майбутні дослідження повинні дослідити використання векторизації разом з компіляцією Just-In-Time (JIT) за допомогою таких інструментів, як Numba, для подальшого підвищення продуктивності Python. Тип статті. Практична стаття. PURL: https://purl.org/cims/2403.017 https://cims.fti.dp.ua/j/article/view/215векторизаціяPython оптимізаціяобробка данихпівищення продуктивностічитабельність кодурозробка програмного забезпечення
spellingShingle Олексій Земляний
Олег Байбуз
Векторизація обчислень для оптимізації коду на мові програмування Python
Challenges and Issues of Modern Science
векторизація
Python оптимізація
обробка даних
півищення продуктивності
читабельність коду
розробка програмного забезпечення
title Векторизація обчислень для оптимізації коду на мові програмування Python
title_full Векторизація обчислень для оптимізації коду на мові програмування Python
title_fullStr Векторизація обчислень для оптимізації коду на мові програмування Python
title_full_unstemmed Векторизація обчислень для оптимізації коду на мові програмування Python
title_short Векторизація обчислень для оптимізації коду на мові програмування Python
title_sort векторизація обчислень для оптимізації коду на мові програмування python
topic векторизація
Python оптимізація
обробка даних
півищення продуктивності
читабельність коду
розробка програмного забезпечення
url https://cims.fti.dp.ua/j/article/view/215
work_keys_str_mv AT oleksíjzemlânij vektorizacíâobčislenʹdlâoptimízacííkodunamovíprogramuvannâpython
AT olegbajbuz vektorizacíâobčislenʹdlâoptimízacííkodunamovíprogramuvannâpython