Breaking

LightBlog

Senin, 15 Oktober 2018

Struktur Data Pandas : DataFrame

Pada artikel sebelumnya kita telah ‘mencicipi’ struktur data pandas yaitu Series. Selanjutnya kita akan melanjutkan belajar stuktur data lainnya itu DataFrame. DataFrame berbentuk tabular seperti table/spreadsheet yang mempunyai baris dan kolom. Sebelum menggunakan DataFrame anda terlebih dahulu harus import DataFrame yang telah kita lakukan pada artikel sebelumnya. Kita akan membuat Tabel yang berisi nama Pesantren (alishlah dan karangasem) beserta jumlah santri untuk setiap tahunnya.
In [15]: data = {'pesantren' :['alishlah','alishlah','alishlah','karangasem','karangasem'], 'tahun' : [2014, 2015, 2016, 2015, 2016], 'jumlah' : [1500, 1800, 2200, 1200, 1500]}
 
In [16]: frame = DataFrame(data)
 
In [17]: frame
Out[17]:
   jumlah   pesantren  tahun
0    1500    alishlah   2014
1    1800    alishlah   2015
2    2200    alishlah   2016
3    1200  karangasem   2015
4    1500  karangasem   2016

Hasil dari DataFrame adalah otomatis diurutkan berdasarkan ascending, jika kita menuliskan urutan kolom secara detail maka akan ditampilkan seperti yang diinginkan
In [18]: DataFrame(data, columns = ['tahun', 'pesantren', 'jumlah'])
Out[18]:
   tahun   pesantren  jumlah
0   2014    alishlah    1500
1   2015    alishlah    1800
2   2016    alishlah    2200
3   2015  karangasem    1200
4   2016  karangasem    1500

Misalnya ingin menambah kolom maka hanya perlu diupdate seperti berikut
In [19]: frame2 = DataFrame(data, columns = ['tahun', 'pesantren', 'jumlah', 'guru'])
 
In [20]: frame2
Out[20]:
   tahun   pesantren  jumlah guru
0   2014    alishlah    1500  NaN
1   2015    alishlah    1800  NaN
2   2016    alishlah    2200  NaN
3   2015  karangasem    1200  NaN
4   2016  karangasem    1500  NaN

pada DataFrame diatas kita ingin menambah kolom jumlah guru yang karena tidak ada record yang dimasukkan maka hanya muncul nilai NaN pada hasil
Seperti halnya Series kita dapat mencari kolom tertentu yang diinginkan
In [21]: frame2.pesantren
Out[21]:
0      alishlah
1      alishlah
2      alishlah
3    karangasem
4    karangasem
Name: pesantren
 
In [22]: frame2.tahun
Out[22]:
0    2014
1    2015
2    2016
3    2015
4    2016
Name: tahun

Kolom juga dapat dicari dengan memasukkan detail index. Misalnya ingin melihat detail index ke-2
In [20]: frame2.ix[2]
Out[20]:
tahun            2016
pesantren    alishlah
jumlah           2200
guru              NaN
Name: 2

Kolom dapat juga diupdate nilai recordnya seperti pada kolom ‘guru’ yang saat ini bernilai NaN kita akan update agar terisi nilai.
In [24]: frame2['guru'] = 50
 
In [25]: frame2
Out[25]:
   tahun   pesantren  jumlah  guru
0   2014    alishlah    1500    50
1   2015    alishlah    1800    50
2   2016    alishlah    2200    50
3   2015  karangasem    1200    50
4   2016  karangasem    1500    50

Tidak ada komentar:

Posting Komentar

Adbox