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

Pandas Groupbi Average



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

Како користити метод гроупби.меан() у Пандас?

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







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

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





Као што се може видети, креирали смо наш оквир података користећи пандас речник. Имамо 3 колоне у нашем дф оквиру података, односно „ставке“, „произвођач“ и „количина“. У колони 'ставке' похранили смо вриједности ('мајица', 'кравата', 'панталоне', 'мајица', 'кравата', 'панталоне', 'мајица', 'панталоне', 'панталоне', ' кравата“), док  колоне „произвођач“ и  „количина“ које садрже вредности („италија“, „француска“, „кина“, „француска“,  „кина“, „италија“, „кина“, „италија“, „француска“, „кина“) и (13, 16, 21, 32, 26, 41, 24, 42, 12, 15) респективно. Хајде да групишемо вредности у колони произвођача и одредимо средњу вредност количине за сваког различитог произвођача.





Вредност произвођача „кина“ има средњу вредност количине од 21,5, средња вредност количине за „француску“ је 20,0, а средња вредност количине за „Италију“ је 32,0. Такође можемо навести индекс за излаз користећи функцију ресет_индек са функцијом гроупби.меан().



Пример # 02: Пронађите средњу вредност једне колоне са плутајућим груписањем података једне колоне

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

Стављањем речника унутар пд.ДатаФраме(), направили смо оквир података са три колоне. Колона 'име' чува имена неких насумичних играча ('Сам', 'Јаи', 'Лео', 'Мике', 'Вилл', 'Билли', 'Јхонни', 'Лара', 'Ханна', „Тони“), колона „тим“ која представља тим из којег сваки играч припада („А“, „А“, „Б“,  „А“, „Б“, „А“, „Ц“, „Б“ ', 'Ц', 'Ц'), а колона 'висина' чува висину сваког играча као флоат вредност (5.6, 5.4, 6.3, 5.2, 5.5, 6.4, 5.6, 5.8, 6.0, 5.2). Хајде да групишемо податке у колони „тим“ и одредимо средњу вредност висине за сваку различиту вредност „тим“.

Можете видети да је просечна вредност висине играча тима А 5,65, док су просечне висине играча у тимовима Б и Ц 5,866 и 5,6, респективно.

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

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

У новоствореном оквиру података постоје три колоне са ознакама „име“, „резултат“ и „подударања“. Имена колона са вредностима података као стринг  („Рон“, „Џим“, „Дани“, „Џим“, „Џим“, „Дени“, „Рон“, „Рон“, „Дени“, „Џим“ ), док се 'резултат' и 'утакмице' састоје од нумеричких података као (3, 4, 2, 4, 1, 5, 2, 3, 1, 2) и (2, 3, 1, 2, 1, 3 , 4, 1, 2, 1). Сада хајде да пронађемо средњу вредност колоне „резултат“ и „подударања“ након груписања података колоне „име“. За ово ће се користити функција гроупби.меан().

Може се приметити да група „Дани“ има просечну оцену 2,66 на 2,00 меча. Група Џим има просечну оцену 2,75 а просечна вредност одиграних мечева је 1,75. Док група „Рон“ има средњу вредност скора 2,66, а средња вредност одиграних мечева је 2,33.

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

Излаз је исти као и раније.

Пример # 04: Одредите средњу вредност специфичних колона груписањем више колона

У примерима 1, 2 и 3, груписали смо вредности или податке једне колоне. Сада ћемо груписати више колона користећи листу ознака колона унутар функције гроупби(), а затим ћемо пронаћи просечну вредност за сваку групу. Речник „д“ ће бити прослеђен унутар функције пд.Датафраме() као улаз за креирање оквира података.

Направили смо потребан оквир података. У колони „спорт“ се чувају називи неких спортова („бадминтон“, „фудбал“, „тенис“, „кошарка“, „фудбал“, „тенис“, „кошарка“, „фудбал“, „бадминтон“, „ кошарка', 'кошарка', 'тенис'), називи земаља ('Кина', 'Русија', 'Италија', 'Шпанија', 'Русија', 'Италија', 'Кина', 'Италија', ' Шпанија“, „Кина“, „Русија“, „Италија“) се чувају у колони „земља“. Док смо у колони „победа“ сачували број мечева које је свака земља добила у сваком спорту (13, 10, 6, 7, 10, 12, 7, 11, 8, 13, 11, 6). Хајде да користимо функцију гроупби.меан() да пронађемо средњу вредност вредности колоне „победа“ груписањем колона „спорт“ и „земља“.

Функција је успешно утврдила просеке вредности колоне „победа“ за сваки спорт у земљи. Груписани оквир података може се ресетовати помоћу функције ресет_индек(), која такође генерише нови индекс, дајући му одговарајућу структуру оквира података.

Индекс се додаје за сваки ред оквира података. Да бисмо резултате распоредили у атрактивну табелу, можемо користити и функцију пивот().

Закључак

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