панде

Како се користи Гроуп би у Пандас Питхон

Како се користи Гроуп би у Пандас Питхон
Пандас гроуп би фунцтион користи се за груписање објеката или колона ДатаФрамес на основу одређених услова или правила. Помоћу функције гроупби управљање подацима је лакше. Међутим, сви сродни записи могу се сложити у групе. Користећи библиотеку Пандас, можете да примените групу Пандас по функцији за груписање података према различитим врстама променљивих. Већина програмера користила је три основне технике за групу према функцији. Прво, подела у којој се подаци деле у групе на основу неких одређених услова. Затим примените одређене функције на ове групе. На крају, комбинујте излаз у облику структуре података.

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

Размотримо главни концепт групе уз помоћ података запосленог. Направили смо оквир података са неким корисним детаљима о запосленима (Емплоиее_Намес, Десигнатион, Емплоиее_цити, Аге).

Конкатенација низа помоћу групе по функцији

Помоћу функције гроупби можете повезати низове. Исти записи могу се спојити са ',' у једној ћелији.

Пример

У следећем примеру сортирали смо податке на основу колоне „Ознака“ запослених и придружили се запосленима који имају исту ознаку. Ламбда функција се примењује на „Емплоиеес_Наме“.

увези панде као пд
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
дф1 = дф.гроупби ("Ознака") ['Емплоиее_Намес'].аппли (ламбда Емплоиее_Намес: ','.придружи се (Емплоиее_Намес))
испис (дф1)

Када се изврши горњи код, приказује се следећи излаз:

Сортирање вредности у растућем редоследу

Користите објект гроупби у редовни оквир података позивањем '.то_фраме () ', а затим користите ресет_индек () за поновно индексирање. Сортирајте вредности колона позивањем сорт_валуес ().

Пример

У овом примеру ћемо сортирати узраст запосленика у растућем редоследу. Користећи следећи део кода, дохватили смо „Емплоиее_Аге“ у растућем редоследу са „Емплоиее_Намес“.

увези панде као пд
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
дф1 = дф.гроупби ('Емплоиее_Намес') ['Емплоиее_Аге'].сума ().уоквирити, сместити().ресет_индек ().сортирај_вредности (по = 'Доб_упосленика')
испис (дф1)

Употреба агрегата са гроупби

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

Пример

У овом примеру смо користили функцију 'цоунт ()' са гроупби за бројање запослених који припадају истом 'Емплоиее_цити'.

увези панде као пд
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
дф1 = дф.гроупби ('Емплоиее_цити').цоунт ()
испис (дф1)

Као што видите следећи излаз, у колоне Ознака, Запослени_Наме и Запослени_Старост пребројте бројеве који припадају истом граду:

Визуелизујте податке помоћу гроупби

Коришћењем 'импорт матплотлиб.пиплот ', своје податке можете визуализовати у графиконе.

Пример

Овде следећи пример визуализује 'Емплоиее_Аге' са 'Емплоиее_Нмаес' из датог ДатаФраме-а помоћу наредбе гроупби.

увези панде као пд
импорт матплотлиб.пиплот као плт
датафраме = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
плт.цлф ()
оквир података.гроупби ('Емплоиее_Намес').сума ().заплет (врста = 'трака')
плт.Прикажи()

Пример

Да бисте нацртали наслагани граф помоћу гроупби, окрените 'стацкед = труе' и користите следећи код:

увези панде као пд
импорт матплотлиб.пиплот као плт
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
дф.гроупби (['Емплоиее_цити', 'Емплоиее_Намес']).величина ().унстацк ().заплет (врста = 'бар', наслаган = Тачно, фонтсизе = '6')
плт.Прикажи()

На доњем графикону приказан је број запослених који припадају истом граду.

Промените назив колоне са групом за

Такође можете да промените агрегирано име колоне неким новим измењеним именом на следећи начин:

увези панде као пд
импорт матплотлиб.пиплот као плт
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
дф1 = дф.гроупби ('Емплоиее_Намес') ['Ознака'].сума ().ресет_индек (наме = 'Назив запосленика')
испис (дф1)

У горњем примеру, назив 'Ознака' је промењен у 'Емплоиее_Десигнатион'.

Преузети групу по кључу или вредности

Коришћењем наредбе гроупби можете да преузмете сличне записе или вредности из оквира података.

Пример

У доњем примеру имамо податке о групама на основу „Ознака“. Затим се користи група „Особље“ помоћу .гетгроуп ('Особље').

увези панде као пд
импорт матплотлиб.пиплот као плт
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
екстракт_вредност = дф.гроупби ('Ознака')
принт (ектрацт_валуе.гет_гроуп ('Особље'))

Следећи резултат се приказује у излазном прозору:

Додајте вредност у листу група

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

Пример

У овом примеру убацили смо сличне записе у листу група. Сви запослени су подељени у групу на основу „Емплоиее_цити“, а затим применом функције „Ламбда“, ова група се преузима у облику листе.

увези панде као пд
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
дф1 = дф.гроупби ('Емплоиее_цити') ['Емплоиее_Намес'].применити (ламбда гроуп_сериес: гроуп_сериес.на листу()).ресет_индек ()
испис (дф1)

Коришћење функције Трансформ са гроупби

Запослени су груписани према старости, ове вредности се сабирају, а употребом функције 'трансформисања' у табелу се додаје нови ступац:

увези панде као пд
дф = пд.Оквир података(
'Емплоиее_Намес': ['Сам', 'Али', 'Умар', 'Раеес', 'Махвисх', 'Ханиа', 'Мирха', 'Мариа', 'Хамза'],
„Ознака“: [„Менаџер“, „Особље“, „Службеник за ИТ“, „Службеник за ИТ“, „ХР“, „Особље“, „ХР“, „Особље“, „Вођа тима“],
'Град запосленика': ['Карацхи', 'Карацхи', 'Исламабад', 'Исламабад', 'Куетта', 'Лахоре', 'Фаислабад', 'Лахоре', 'Исламабад'],
'Доб запосленика': [60, 23, 25, 32, 43, 26, 30, 23, 35]
)
дф ['сума'] = дф.гроупби (['Емплоиее_Намес']) ['Емплоиее_Аге'].трансформ ('збир')
испис (дф)

Закључак

Истражили смо различите употребе изјаве гроупби у овом чланку. Показали смо како податке можете поделити у групе, а применом различитих агрегација или функција можете лако доћи до ових група.

Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...
Најбоље игре командне линије за Линук
Командна линија није само ваш највећи савезник када користите Линук - она ​​такође може бити извор забаве јер је можете користити за играње многих заб...
Најбоље апликације за мапирање гамепада за Линук
Ако волите да играте игре на Линуку са гамепадом уместо са типичним системом за унос тастатуре и миша, за вас постоје неке корисне апликације. Многе и...