Да ли је тачно тврдити да нова библиотека Поларс надмашује Панде у више бенчмаркова или је Пандас библиотека и даље доминантан избор?
Док обављате задатке анализе података, велике су шансе да сте наишли на Панде. То је већ дуже време најпревладавајућа библиотека у анализи података. С друге стране, Поларс је релативно нова библиотека која се може похвалити високим перформансама и ефикасношћу меморије. Али, који је бољи?
Овде ћете видети поређење перформанси између Панда и Поларс-а у низу уобичајених задатака манипулације подацима.
Мерење перформанси: метрика и скуп података референтних вредности
Ово поређење ће узети у обзир способност Панда и Поларс библиотеке за манипулисање скупом података распродаје Црног петка Каггле. Овај скуп података садржи 550.068 редова података. Садржи информације о демографији купаца, историји куповине и детаљима о производу.
Да би се обезбедила фер мерења учинка, поређење ће користити време извршења као стандардну метрику учинка за сваки задатак. Платформа за покретање кода за сваки задатак поређења биће Гоогле Цолаб.
Комплетан изворни код који пореди Пандас и Поларс библиотеке доступан је у а ГитХуб спремиште.
Читање података из ЦСВ датотеке
Овај задатак упоређује време које је потребно свакој библиотеци да прочита податке из скупа података распродаје Црног петка. Скуп података је у ЦСВ формат. Панде и Поларс нуде сличну функционалност за овај задатак.
Пандама је потребно двоструко више времена које је потребно Поларсу да прочита податке у скупу података распродаје Црног петка.
Избор колоне
Овај задатак мери време потребно свакој библиотеци да изабере колоне из скупа података. То укључује одабир ИД корисник и Куповина колоне.
Поларима је потребно знатно мање времена да изаберу колоне из скупа података у поређењу са Пандама.
Филтрирање редова
Овај задатак упоређује перформансе сваке библиотеке у филтрирању редова у којима је Пол колона је Ф из скупа података.
Поларима је потребно веома кратко време у поређењу са Пандама да филтрирају редове.
Груписање и агрегирање података
Овај задатак укључује груписање података по једној или више колона. Затим, обављање неких функција агрегације на групама. Мери време потребно свакој библиотеци да групише податке према Пол колону и израчунајте просечан износ куповине за сваку групу.
Поново, Поларци надмашују Панде. Али маргина није тако велика као код филтрирања редова.
Примена функција на податке
Овај задатак укључује примену функције на једну или више колона. Мери време које је потребно свакој библиотеци да умножи Куповина колона по 2.
Једва се види Поларс бар. Поларци су још једном надмашили Панде.
Спајање података
Овај задатак укључује спајање два или више оквира података на основу тога што постоји једна или више заједничких колона. Мери време које је потребно свакој библиотеци да се споји ИД корисник и Куповина колоне из два одвојена оквира података.
Обема библиотекама је потребно неко време да заврше овај задатак. Али Поларс-у је потребно скоро упола мање времена потребном Пандама за спајање података.
Зашто је Поларс у стању да надмаши Панде?
У свим горе наведеним задацима манипулације подацима, Поларци надмашују Панде. Постоји неколико разлога зашто Поларс може надмашити Панде у времену извршења.
- Оптимизација меморије: Поларс користи Руст, системски програмски језик који оптимизује употребу меморије. Омогућава Поларс-у да минимизира време које троши на додељивање и ослобађање меморије. Ово чини време извршења брже.
- СИМД (Сингле Инструцтион Мултипле Дата) операције: Поларс користи СИМД операције за обављање прорачуна података. То значи да може да користи једну инструкцију да изврши исту операцију на више елемената података истовремено. Ово омогућава Поларс-у да обавља операције много брже од Панда-а, који користе једнонитни приступ.
- Лази Евалуатион: Поларс користи лењу евалуацију да одложи извршење операција док му не затребају. Ово смањује количину времена које Поларс троши на непотребне операције и побољшава перформансе.
Проширите своје вештине науке о подацима
Постоји много Питхон библиотека које вам могу помоћи у науци о подацима. Панде и Поларци су само мали део. Да бисте побољшали перформансе вашег програма, требало би да се упознате са више библиотека за науку о подацима. Ово ће вам помоћи да упоредите и изаберете која библиотека најбоље одговара вашем случају употребе.