Untuk menghapus data NaN digunakan method dropna().
Pertama kita import library dan data yang digunakan.
import pandas as pd
df = pd.read_csv("nba.csv")
Mari kita tampilkan dahulu data dengan method head dan tail untuk memeriksa data NaN yang ada.
df.head() df.tail()
2 John Holland Boston Celtics 30.0 SG 27.0 6-5 205.0 Boston University NaN
4 Jonas Jerebko Boston Celtics 8.0 PF 29.0 6-10 231.0 NaN 5000000.0
457 NaN NaN NaN NaN NaN NaN NaN NaN NaN
Hapus data NaN dengan perintah berikut. Secara default perintah dropna() akan menghapus semua row yang mengandung nilai NaN, atau parameter how=”any”.
df.dropna() #sama dengan perintah df.dropna(how="any")
Dapat dilihat dari image diatas, semua baris yang mengandung data NaN akan dibuang dari dataframe.
Jika Anda hanya ingin menghapus dimana seluruh isi baris mengandung nilai NaN, gunakan parameter how=”all”.
Parameter inplace=True, seperti yang sudah dibahas pada modul series, untuk menerapkan perubahan pada dataframe.
df.dropna(how="all", inplace=True)
Dapat diperhatikan pada gambar diatas, baris yang tidak seluruhnya NaN tidak dihapus.
Jika ingin menghapus seluruh kolom yang mengandung nilai NaN, gunakan parameter axis=1 (default adalah 0, atau row).
df.dropna(axis=1) # sama dengan df.dropna(axis="columns")
Parameter yang cukup penting adalah subset. Perintah dropna hanya akan melakukan drop data jika terdapat NaN pada list yang didefinisikan dalam parameter subset.
Contoh, kita ingin drop data jika pada kolom salary terdapat NaN.
df.dropna(subset=["Salary"])
Parameter subset dapat diisi lebih dari 1 kolom. Contoh:
df.dropna(subset=["Salary", "College"])