Pandas merupakan library Python yang dibangun diatas NumPy dan cocok digunakan untuk melakukan preprocessing data dan analisis
Panda mampu mengolah berbagai jenis data seperti CSV, JSON, Excel, TXT, HTML, XML, PDF, Pickle dan lain lain
Untuk menggunakan Pandas kita harus import terlebih dahulu
import pandas as pd
jika belum ada library pandas install terlebih dahulu dengan pip
pip install pandas
Contents
Pandas Series
Pandas Series adalah struktur data dasar Pandas yang berbentuk array berlabel satu dimensi. Series mampu menampung berbagai jenis data seperti integer, string, float, dll
Series dapat digambarkan sebagai pengembangan dari NumPy 1D yang mempunyai index secara eksplisit
Lebih jelas perbedaan tentang Pandas Series vs NumPy Array dapat dilbaca disini
Membuat Pandas Series
Kita dapat membuat Series dengan input dari List dan Array
# List nilai_series = pd.Series([2,4,6,8,10]) # Array nilai_series = pd.Series(np.array([2,4,6,8,10]))
Ketika dijalankan hasilnya adalah
0 2 1 4 2 6 3 8 4 10 dtype: int64
Kolom kiri adalah indeksnya (indeks eksplisit) dan kolom kanan adalah nilainya
Kita juga dapat memodifikasi bentuk indeksnya seperti ini
data = np.array([2,4,6,8,10]) nilai_series = pd.Series(data, index=['a','b','c','d','e'])
Hasilnya adalah
a 2 b 4 c 6 d 8 e 10 dtype: int64
Untuk mengakses nilai dari Series kita bisa gunakan label indeksnya
data = np.array([2,4,6,8,10]) nilai_series = pd.Series(data, index=['a','b','c','d','e']) print(nilai_series['a']) print(nilai_series['d'])
Hasilnya adalah
2 8
Akses Data Series
Selain dapat mengakses nilai Series dari labelnya bisa juga melalui indeksnya seperti NumPy. Index Series juga dimulai dari 0
data = np.array([2,4,6,8,10]) nilai_series = pd.Series(data, index=['a','b','c','d','e']) print(nilai_series[0]) print(nilai_series[3])
Untuk mengambil data deret gunakan “:”
Contoh misal ingin mengambil nilai mulai dari index ke-2 sampai akhir
data = np.array([2,4,6,8,10]) nilai_series = pd.Series(data, index=['a','b','c','d','e']) print(nilai_series[2:])
Jika dijalankan hasilnya adalah
c 6 d 8 e 10 dtype: int64
loc dan iloc
Fungsi loc digunakan untuk melakukan indexing data seperti kasus diatas
data = np.array([2,4,6,8,10]) nilai_series = pd.Series(data) print(nilai_series.loc[0]) print(nilai_series.loc[2])
Hasilnya adalah
2 6
Fungsi iloc hampir sama dengan loc tetapi hanya untuk index interger saja. Jadi ketika label index tidak integer maka akan terjadi error saat pemanggilan
Misalnya jika kita membuat Series dengan label index bukan integer
data = np.array([2,4,6,8,10]) nilai_series = pd.Series(data, index=['a','b','c','d','e'])
Ketika dipanggil label eksplisitnya akan error
Studi Kasus
Kita akan melakukan handson Pandas Series dengan dataset riil
Dataset yang akan digunakan adalah dataset Titanic yang merupakan salah satu dataset terkenal
Selanjutnya kita akan menggunakan Jupyter Notebook sebagai lingkungan Python
Jika masih belum paham Jupyter Notebook silahkan dibaca artikel ini
Pertama, import Library Pandas
import pandas as pd
Selanjutnya gunakan fungsi read_csv() untuk membaca dataset Titanic yang berbentuk file CSV dan disimpan ke dalam varibel
Pastikan file CSV berada dalam satu folder file Jupyter Notebook, Jika tidak lakukan modifikasi path filenya
data = pd.read_csv('titanic.csv')
Maka data akan disimpan di variabel data, selanjutnya kita akan olah dengan Pandas Series dan kita fokus ke kolom Nama
data_series = pd.Series(data['Name'])
Gunakan fungsi head() untuk menampilkan sampel 5 data teratas (default)
data_series.head()
Hasilnya akan seperti ini
0 Braund, Mr. Owen Harris 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) 2 Heikkinen, Miss. Laina 3 Futrelle, Mrs. Jacques Heath (Lily May Peel) 4 Allen, Mr. William Henry Name: Name, dtype: object
Kita juga bisa menggunakan fungsi tail() untuk mendapatkan 5 data terakhir
data_series.tail()
Hasilnya adalah
886 Montvila, Rev. Juozas 887 Graham, Miss. Margaret Edith 888 Johnston, Miss. Catherine Helen "Carrie" 889 Behr, Mr. Karl Howell 890 Dooley, Mr. Patrick Name: Name, dtype: object
Selanjutnya kita akan coba slicing data
Misal menampilkan nama penumpang index ke-100 dan ke-200
print(data_series[100])
print(data_series[200])
Hasilnya adalah
Petranec, Miss. Matilda Vande Walle, Mr. Nestor Cyriel
Kita juga bisa menggunakan fungsi loc() atau iloc()
print(data_series.loc[100])
print(data_series.loc[200])
Detail kode di Jupyter Notebook adalah sepert ini
Sekian materi Pandas Series, silahkan dieksplore sendiri lebih lanjut..
Selanjutnya kita akan belajar Pandas DataFrame di artikel berikutnya.. Stay Tuned 😀