Пандас Гроупби Аггрегате

Pandas Groupbi Aggregate



Техника гроупби је од суштинског значаја због тога колико добро агрегира податке у смислу перформанси и величине кода. Термин „групни рад“ обично описује процедуру која укључује следеће кораке:

  • Цепање : Применом одређених услова на скупове података можемо поделити податке у групе.
  • Применом : Процес у коме појединачно примењујемо метод на сваку групу.
  • Комбиновање : Процедура за комбиновање различитих скупова података да би се формирала структура података након коришћења методе гроупби().

У процесу агрегације, израчунава се збирна статистика за сваку групу. За сваку групу, агрегатни метод враћа агрегирану вредност (појединачна вредност). Можемо извршити неколико операција агрегирања на груписаним подацима након што их поделимо у групе помоћу функције гроупби.







Зашто Панде пружају различите методе агрегације података?

Панде нуде широк спектар функција и функција које помажу у анализи и агрегацији података. Употреба метода пивот(), гроупби() и пивот_табле(), на пример, нуди различиту перспективу о томе како ће подаци бити агрегирани. Они пружају практичне приступе извршавању различитих задатака уместо да се једноставно препакују.



Како користити функцију .агг() у Пандас-у

Једноставан просек или збир вредности је функција агрегације која се најчешће користи. Можете да користите колону оквира података или више колона да бисте позвали агрегатну функцију. Видећете много начина за агрегирање података користећи Пандас гроупби метод. Да бисмо показали колико је лакша процедура, погледајмо неке примере дате у наставку. Основне математичке операције као што су збир, минимум, максимум, средња апсолутна девијација, стандардна девијација, средња вредност, медијана, варијанса и производ су међу најчешће коришћеним уграђеним функцијама агрегације. Да бисмо сумирали податке, можемо комбиновати гроупби и функцију агг().



Пример # 01: Одредите збир колона груписањем података помоћу функције гроупби.агг()

Прво ћемо креирати оквир података користећи функцију пд.ДатаФраме() тако да можемо груписати податке из колоне или колона оквира података, а затим одредити њихову средњу вредност. Морамо да увеземо модуле панди и нумпи библиотеку пре него што креирамо оквир података.





Као што видите, користили смо речник панда да креирамо наш оквир података. Наш дф оквир података има четири колоне: „пацијент“ „група“, „старост“ и „боце крви“. Вредности података ('Али', 'Јохн', 'Мике', 'Мике', 'Јохн', 'Али', 'Али', 'Мике') су садржане у колони 'пацијент', док су вредности података ('А ', 'А', 'Б', 'Ц', 'А', 'Ц', 'Ц', 'Б'), (21, 22, 24, 21, 20, 24, 22, 22) и ( 2, 3, 1, 1, 2, 3, 2, 1) налазе се у колонама „група“, „старост“ и „боце_крви“ респективно. Претпоставимо да морамо да одредимо збир вредности у колони „блоод_боттлес“ груписањем вредности у колони „гроуп“.



За групне податке „А“, збир вредности „блоод_боттлес“ је 7. За групне вредности „Б“ и „Ц“, збир вредности „блоод_боттлес“ је 2 и 6, респективно. Такође можемо груписати више колона да бисмо одредили збир за сваку групу.

Као што се може приметити, проследили смо листу ознака колона, односно [‘пацијент’, ‘група’] унутар функције гроупби() да бисмо креирали групе категорија у свакој наведеној колони. За сваку групу наведених колона одредили смо збир вредности у 'блоод_боттлес'. На пример, „Али“ је у вредностима колоне „група“ А и Ц. У групи А, збир вредности „блоод_боттлес“ за Али је 2, а 5 у групи „Ц“.

Пример # 02: Примена више функција на једну колону оквира података помоћу функције гроупби.агг()

Вишеструко здруживање може да се примени помоћу „гроупби()“ методе помоћу функције пандас агг(). Позивна листа може да се проследи методу. Хајде да погледамо како можемо да агрегирамо наше податке користећи уграђене методе библиотеке нумпи. За разлику од претходног примера, применићемо више функција на једну колону оквира података. Функција пд.ДатаФраме() ће се користити за креирање оквира података за ово са најмање једном колоном која садржи нумеричке вредности.


Направљен је потребан оквир података који има једну нумеричку колону, тј. 'ознаке' са вредностима 41, 40, 35, 39, 49, 31, 34 и 42. Постоје још 3 колоне 'студент', 'субјецтс' и 'дегрее' у нашем оквиру података који се може поделити у групе коришћењем функције гроупби(). Вредности у колонама 'студентс' и 'субјецтс' су ('Харри', 'Рон', 'Харри', 'Лана', 'Сам', 'Рон', 'Лана', 'Мак') и ('Ц++' , 'ЈАВА', 'Питхон', 'Питхон', 'АИ', 'ЈАВА', 'Ц++', 'АИ'). Док степен колоне садржи вредности података као низове, тј. („Мс“, „Бс“, „Бс“, „Мс“, „Мс“, „Мс“, „Бс“, „Бс“). Претпоставимо да морамо да групишемо податке колона „субјеката“ и да одредимо и средњу вредност и збир „оцена“ колоне за сваки груписани податак.

Навели смо име колоне „субјекти“ као стринг унутар функције гроупби() да бисмо податке претворили у групе категорија. За колону са ознакама, користили смо метод агг(), а унутар функције агг() смо специфицирали нумпи функције нп.сум и нп.меан да бисмо пронашли збир и просек оцена сваке групе података у предметима колоне. Збир и средња вредност за групну вредност „АИ“ су 91 и 45,5, респективно. Збир оцена за вредност „Ц++“ је 75, а средња вредност је 37,5. За групу ЈАВА, збир оцена је 71 и средња вредност је 35,5, док су збир и средња вредност за Питхон 74 и 37, респективно.

Пример # 03: Примена вишеструких функција на више колона оквира података помоћу функције гроупби.агг()

Уместо да примењујемо различите функције на колону једног оквира података, можемо применити више функција на различите нумеричке колоне. Можемо да користимо речник у функцији агг() као улаз за примену одређене методе агрегације на колоне различитих оквира података. Хајде да увеземо панде и нумпи библиотеке пре него што креирамо оквир података са више нумеричких колона.

У новокреираном оквиру података постоје четири колоне са називима „играч“, „најмањи резултат“, „највиши резултат“ и „локација“. У колони 'плаиер', похранили смо имена неколико играча као низове података ('Лео', 'Алек', 'Лео', 'Фин', 'Лео', 'Алек', 'Фин', ' Фин'), у колони 'најмањи_сцоре' налазе се најнижи резултати играча за неке мечеве (12, 34, 2, 21, 9, 1, 0, 34), док у колони 'највећи_сцоре' имамо највише резултате играча (12, 34, 2, 21, 9, 1, 0, 34) а у колони 'локација' налазе се имена места на којима су играчи играли своје утакмице ('Француска', 'Енглеска', 'Дубаи', ' Дубаи“, „Енглеска“, „Француска“, „Дубаи“, „Француска“).

Претпоставимо да након груписања података у колону „играчи“, морамо да пронађемо просек за вредности колоне „најмањи резултат“ и збир вредности података „највећи резултат“ за сваку групу.

Унутар функције агг() проследили смо питхон речник {‘хигхест_сцоре’: ‘сум’, ‘леаст_сцоре’: ‘меан’} да бисмо пронашли збир и просечну вредност за одређену колону у односу на сваку групу. Може се видети да груписана вредност Алек има збир вредности „највећи_сцоре“ 132 и просека вредности „најмање_сцоре“ 17,5. За „Фин“ збир вредности је 199, а просек је 18,3333333 у колонама „највиши_сцоре“ и „најмањи_сцоре“ респективно. Групна вредност Лео има збирну вредност од 180 у „највишој_сцоре“ и просечну вредност од 7,666667 у „најмањем_скору“.

Закључак

У овом водичу смо разговарали о гроупби() и функцијама агрегације у пандама. Такође смо разговарали о томе како да користимо функцију гроупби.агг(). Применили смо три примера у овом чланку да бисмо вас научили како да користите једну функцију агрегације на колони оквира података груписањем података једне и више колона, како да примените више функција агрегације на једну колону оквира података и како да примените вишеструке функције агрегације на више колона оквира података помоћу функције гроупби.агг().