python pandas series
Python

Python Pandas : Pengenalan Series

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 😀

Leave a Reply

Your email address will not be published. Required fields are marked *