Pandas GroupBy – Pengenalan

Operasi groupby berguna untuk melakukan pengelompokan data yang besar, sehingga dapat dilakukan operasi lainnya terhadap grup tersebut.

Untuk keperluan modul groupby, digunakan data fortune1000.csv

File colab yang digunakan dapat diakses di Pandas GroupBy.ipynb.

Pertama load library dan data yang digunakan.

import pandas as pd

df = pd.read_csv("fortune1000.csv", index_col="Rank")
df.head()

Untuk membuat grouping gunakan method groupby dengan parameter kolom yang akan digunakan untuk grouping. Contoh kita melakukan grouping berdasarkan sector.

sector = df.groupby("Sector")

Berikut method yang cukup sering digunakan untuk melihat informasi object dan data preview.

Method size()

Berguna untuk melihat ukuran dari object groupby, gunakan method size yang akan mengembalikan series dengan Data sector sebagai index.

sector.size()
Sector
Aerospace & Defense              20
Apparel                          15
Business Services                51
Chemicals                        30
Energy                          122
Engineering & Construction       26
Financials                      139
Food and Drug Stores             15
Food, Beverages & Tobacco        43
Health Care                      75
Hotels, Resturants & Leisure     25
Household Products               28
Industrials                      46
Materials                        43
Media                            25
Motor Vehicles & Parts           24
Retailing                        80
Technology                      102
Telecommunications               15
Transportation                   36
Wholesalers                      40
dtype: int64

Method first()

Mirip perintah head. Berguna untuk menampilkan data pertama dari masing-masing sector (atau kolom yang Anda gunakan sebagai grouping).

sector.first()

Method last()

Berguna untuk menampilkan data terakahir dari masing-masing sector (atau kolom yang Anda gunakan sebagai grouping).

sector.last()

Attribute groups

Akan mengembalikan python dictionary dengan informasi index data yang terdapat pada masing-masing group.

Contoh, Data dengan index 24, 45, 60, 88, 118, 120, 209, 245, 282, 378, 389, 490, 560, 605, 785, 788, 836, 903, 958, 987 akan berada dalam group Aerospace & Defense.

sector.groups
{'Aerospace & Defense': [24, 45, 60, 88, 118, 120, 209, 245, 282, 378, 389, 490, 560, 605, 785, 788, 836, 903, 958, 987], 'Apparel': [91, 231, 340, 354, 448, 547, 575, 597, 683, 695, 726, 794, 877, 882, 917]
...
...
'Transportation': [48, 58, 67, 68, 80, 129, 142, 208, 239, 270, 353, 390, 395, 405, 407, 416, 432, 459, 521, 528, 570, 578, 642, 672, 709, 713, 740, 800, 814, 858, 884, 930, 933, 945, 972, 974], 'Wholesalers': [57, 64, 92, 102, 108, 119, 122, 167, 183, 185, 212, 276, 285, 315, 317, 320, 323, 335, 351, 357, 369, 391, 423, 463, 474, 477, 484, 564, 581, 599, 627, 653, 685, 727, 747, 780, 808, 837, 875, 991]}

Anda dapat lakukan crosscheck dengan perintah loc[] pada dataframe original.

df.loc[24]
Company                     Boeing
Sector         Aerospace & Defense
Industry     Aerospace and Defense
Location               Chicago, IL
Revenue                      96114
Profits                       5176
Employees                   161400
Name: 24, dtype: object

Sharing is caring:

Leave a Comment