Data Unik, Data Hilang & Interpolasi Pada Pandas Python
Data unik adalah kelompok data yang berisi data yang berbeda-beda saja dari sebuah baris data. Data hilang, adalah data yang kosong atau tidak ada (empty) dalam sebuah dataframe. Dan interpolasi adalah teknik mengisi data hilang dengan rata-rata data antara sesuai dengan fungsi deret dari data-data sebelumnya dan setelahnya. Kita akan membaahas semuanya disini.
Data Unik
Data unik adalah kelompok data yang berisi data yang berbeda-beda saja dari sebuah baris data. Yup, dia unik. Jika data unik ini ada dua buah, dia tetap dianggap satu. Pertama, kita coba buat dulu dataframenya seperti ini:
import pandas as pd
data = [
['Imron','Kedokteran','Forensik'],
['Suha','Ekonomi Bisnis','Manajemen'],
['Sutardi','Kedokteran','Forensi'],
['Eko','MIPA','Matematika'],
['Kadek','Ilmu Komputer','Manajemen Informatika'],
['Simon','Pertanian','Teknologi Pertanian'],
['Putri','Pertanian','Biotek'],
['Silvy','MIPA','Biologi Molekuler'],
['Rey','MIPA','Matematika'],
['Myth','Ekonomi Bisnis','Ekonomi Islam'],
['Sol','MIPA','Kimia']
]
df = pd.DataFrame(data, columns=['nama','fakultas','jurusan'])
df
nama | fakultas | jurusan | |
0 | Imron | Kedokteran | Forensik |
1 | Suha | Ekonomi Bisnis | Manajemen |
2 | Sutardi | Kedokteran | Forensi |
3 | Eko | MIPA | Matematika |
4 | Kadek | Ilmu Komputer | Manajemen Informatika |
5 | Simon | Pertanian | Teknologi Pertanian |
6 | Putri | Pertanian | Biotek |
7 | Silvy | MIPA | Biologi Molekuler |
8 | Rey | MIPA | Matematika |
9 | Myth | Ekonomi Bisnis | Ekonomi Islam |
10 | Sol | MIPA | Kimia |
Untuk mencari data unik dari sebuah kolom, kita dapat menggunakan method .unique()
seperti ini:
df['fakultas'].unique()
Output:
array(['Kedokteran', 'Ekonomi Bisnis', 'MIPA', 'Ilmu Komputer', 'Pertanian'], dtype=object)
Dari hasil diatas, kita menemukan bahwa didalam kolom 'fakultas' hanya ada data: 'Kedokteran', 'Ekonomi Bisnis', 'MIPA', 'Ilmu Komputer' dan 'Pertanian'.
Jumlah Data Unik
Mengetahui data unik saja memang sudah cukup, tapi kita juga bisa mengetahui data unik serta jumlahnya dalam sebuah dataframe. Kita bisa menggunakan method .value_counts()
untuk melakukannya. Kira-kira seperti ini:
fakultas = df['fakultas'].value_counts()
fakultas
fakultas | count |
MIPA | 4 |
Kedokteran | 2 |
Ekonomi Bisnis | 2 |
Pertanian | 2 |
Ilmu Komputer | 1 |
Kita juga bisa mengvisualisasikannya dalam diagram lingkaran menggunakan matplotlib seperti ini:
import matplotlib.pyplot as plt
fakultas.plot.pie(
figsize=(4,4),
autopct='%1.2f%%',
table=True
)
plt.show()
Data Hilang
Data hilang, adalah data yang kosong atau tidak ada (empty) dalam sebuah dataframe. Misalnya pada dataset Urban Population & Life Expectancy. Coba download dulu datasetnya dan buka melalui pandas seperti ini:
!wget --no-check-certificate \
https://cdn.kelasai.id/indonesian_life_expectancy.xlsx
Output:
--2024-12-26 08:03:26-- https://cdn.kelasai.id/indonesian_life_expectancy.xlsx Resolving cdn.kelasai.id (cdn.kelasai.id)... 154.41.240.165, 2a02:4780:6:1252:0:2588:d4de:4 Connecting to cdn.kelasai.id (cdn.kelasai.id)|154.41.240.165|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 11809 (12K) [text/plain] Saving to: 'indonesian_life_expectancy.xlsx' indonesian_life_exp 100%[===================>] 11.53K --.-KB/s in 0.001s 2024-12-26 08:03:27 (22.1 MB/s) - 'indonesian_life_expectancy.xlsx' saved [11809/11809]
df = pd.read_excel('indonesian_life_expectancy.xlsx')
df.head()
year | population | urban percentage | male u5 mortality | female u5 mortality | male expectancy | female ex | |
0 | 1960 | 87751068 | 14.586 | 236.9 | 208.7 | 44.475 | 49.009 |
1 | 1961 | 90098394 | 14.821 | 230.7 | 203.2 | 45.098 | 49.604 |
2 | 1962 | 92518377 | 15.058 | 224.8 | 197.9 | 45.713 | 50.185 |
3 | 1963 | 95015297 | 15.299 | 218.9 | 192.6 | 46.322 | 50.752 |
4 | 1964 | 97596733 | 15.543 | 213.1 | 187.2 | 46.927 | 51.306 |
Untuk mengetahui jumlah data hilang dalam sebuah datframe, kita bisa menggunakan method .isnull()
ditambah method .sum()
untuk menghitung jumlahnya. Kira-kira seperti ini:
df.isnull().sum()
0 | |
year | 0 |
population | 0 |
urban percentage | 0 |
male u5 mortality | 2 |
female u5 mortality | 6 |
male expectancy | 0 |
female ex | 0 |
Dari hasil diatas kita dapat mengetahui bahwa pada kolom 'male u5 mortality' ada dua buah data hilang, dan kolom 'female u5 mortality' ada 6 data hilang.
Mengatasi Data Hilang
Ada beberapa teknik dalam mengatasi data hilang, yaitu: menghapusnya, menggantinya dengan nilai rata-rata dan melakukan interpolasi. Menghapus seluruh data (satu row) adalah langkah paling bijak ketika bertemu dengan data hilang. Hal ini untuk menghindari bias reduktif yang mampu mempengaruhi sistem.
Untuk menghapus data hilang, kita bisa menggunakan method .dropna()
dari python seperti ini:
df.dropna(inplace=True)
df.isnull().sum()
0 | |
year | 0 |
population | 0 |
urban percentage | 0 |
male u5 mortality | 0 |
female u5 mortality | 0 |
male expectancy | 0 |
female ex | 0 |
Sekarang data-data yang memiliki data hilang sudah terhapus.
Interpolasi
Interpolasi adalah proses mengisi data hilang dengan data perkiraan diantara dua buah data (data sebelumnya dan data setelahnya) berdasarkan fungsi tertentu.
Misal ada sebuah deret seperti berikut: 2, 4, 6, n, 10. Berapakah nilai 'n'? yup, jawabannya adalah 8. Deret tersebut adalah deret linear dengan fungsi f(x) = 2x. So, untuk mencari tau berapakah angka yang pantas untuk menggantikan nilai 'n', kita tinggal lihat saja 'n' itu adalah data keberapa, yaitu data ke-4. So tinggal masukan saja ke fungsi f(x) = 2 * 4 = 8.
Untuk melakukan interpolasi, kita bisa menggunakan method .interpolate()
dari pandas yang bisa diisi dengan metode interpolasi yang ingin kita gunakan seperti berikut:
df.interpolate(inplace=True)
df.isnull().sum()
0 | |
year | 0 |
population | 0 |
urban percentage | 0 |
male u5 mortality | 0 |
female u5 mortality | 0 |
male expectancy | 0 |
female ex | 0 |
Dengan interpolasi, kita bisa mengisi kekosongan data tanpa perlu menghapusnya. Artinya jumlah data kita akan tetap sama.
Baca Juga:
Artikel yang mungkin relate buat kamu
Pandas (Python for Data Science) adalah sebuah library atau package pada bahasa pemrograman Python yang memungkinkan kita untuk membuat, mengolah, dan mengelola data dalam bentuk ...
Kita juga bisa membuka file dalam bentuk excel dan csv dengan menggunakan pandas, sehingga hasilnya dapat diolah dalam bentuk dataframe. Kita akan membahasnya pada modul ...