Lewati ke konten utama

Python NaN: 4 Cara Mengecek Nilai Hilang di Python

Jelajahi 4 cara mendeteksi nilai NaN di Python menggunakan NumPy dan Pandas. Pelajari perbedaan utama antara NaN dan None untuk membersihkan dan menganalisis data secara efisien.
· 5 mnt Baca

Jelajahi bersama AI

Di dunia data science dan analitik, menemui data yang hilang lebih merupakan aturan daripada pengecualian. Nilai yang hilang dapat memiringkan analisis, menghasilkan kesimpulan yang keliru, dan umumnya mengganggu alur pemrosesan data. Menangani kekosongan ini penting untuk menjaga integritas analisis Anda. Artikel ini bertujuan membekali Anda dengan berbagai cara mengidentifikasi nilai NaN (Not a Number) di Python.

Jawaban Singkat: Gunakan fungsi isnan() dari NumPy atau metode .isna() dari Pandas

Saat menangani nilai hilang di Python, pendekatannya sangat bergantung pada struktur data yang Anda gunakan.

Untuk Nilai Tunggal atau Array: Gunakan NumPy

Fungsi isnan() dari NumPy ideal untuk mengidentifikasi NaN dalam array numerik atau nilai tunggal, menawarkan solusi yang sederhana dan efisien. Berikut cara kerjanya!

import numpy as np

# Single value check
my_missing_value = np.nan
print(np.isnan(my_missing_value))

# Output: True

# Array check
my_missing_array = np.array([1, np.nan, 3])
nan_array = np.isnan(my_missing_array)
print(nan_array)

# Output: [False  True False]

Untuk DataFrame: Gunakan Pandas

Pandas menyediakan metode komprehensif seperti .isna() dan .isnull() untuk mendeteksi nilai hilang di seluruh objek DataFrame atau Series, terintegrasi mulus dengan alur kerja analisis data.

import pandas as pd
import numpy as np

my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())

#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

Saat Anda menjalankan kode ini, output akan menunjukkan keberadaan nilai NaN dalam konteks yang lebih menarik, seperti yang terlihat di atas.

Perbedaan Antara NaN dan None

Memahami perbedaan antara NaN dan None sangat penting di Python. NaN adalah representasi floating-point dari "Not a Number," yang terutama digunakan dalam komputasi numerik. None, di sisi lain, adalah objek Python yang merepresentasikan ketiadaan nilai, mirip dengan null di bahasa lain. Sementara NaN digunakan dalam komputasi matematis atau ilmiah, None lebih bersifat serbaguna untuk menunjukkan tidak adanya data.

4 Cara Mengecek NaN di Python

Menelusuri dataset untuk mengidentifikasi nilai hilang adalah langkah krusial dalam prapemrosesan data. Mari kita jelajahi empat metode praktis untuk mengecek nilai NaN di Python, melanjutkan dengan contoh-contoh menarik yang sudah kita gunakan.

1. Mengecek NaN menggunakan np.isnan()

Seperti yang kita lihat sebelumnya, NumPy menyediakan pendekatan sederhana untuk mengidentifikasi nilai NaN baik pada nilai tunggal maupun array, yang penting untuk analisis data numerik.

import numpy as np

# Checking a single value
print(np.isnan(np.nan))

# Output: True

# Checking an array
my_array = np.array([1, 5, np.nan])
print(np.isnan(my_array))

# Output: [False False  True]

2. Mengecek NaN menggunakan pd.isna()

Pandas mempermudah pendeteksian nilai NaN dalam struktur data, dari skalar hingga DataFrame yang kompleks, sehingga sangat berharga untuk tugas manipulasi data.

import numpy as np
import pandas as pd

# Checking a single value
print(pd.isna(np.nan))

# Output: True

# Checking a pandas Series
my_series = pd.Series(["Python", np.nan, "The Best"])
print(my_series.isna())

# Output:
# 0    False
# 1     True
# 2    False

# Checking a pandas DataFrame
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(pd.isna(my_dataframe)) # Output a DataFrame with True for missing values

3. Mengecek NaN di DataFrame menggunakan metode Pandas .isna() atau .isnull()

Pandas DataFrame juga menyediakan metode .isna() dan .isnull() untuk dengan mudah menemukan nilai hilang di seluruh dataset, memberikan gambaran jelas tentang kelengkapan data.

import numpy as np
import pandas as pd

# Create a dataframe with missing values
my_dataframe = pd.DataFrame({
    'Column1': ["I", "Love", np.nan], 
    'Column2': ["Python", np.nan, "The Best"]
})

print(my_dataframe.isna())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

print(my_dataframe.isnull())
# Output:
#    Column1  Column2
# 0    False    False
# 1    False     True
# 2     True    False

4. Mengecek NaN di DataFrame menggunakan math.isnan()

Untuk pengecekan angka individual, fungsi math.isnan() menawarkan solusi yang sederhana namun efektif, terutama saat menangani tipe data Python murni.

import math

# Assuming my_number is a float or can be converted to one
my_number = float('nan')
print(math.isnan(my_number))

# Output: True

Penutup dan Sumber Tambahan

Mengidentifikasi dan mengelola nilai NaN adalah langkah mendasar dalam membersihkan dan menyiapkan data Anda untuk analisis. Baik Anda bekerja dengan array, series, atau data frame, memahami alat dan metode yang tersedia di Python untuk menangani data hilang itu penting. Untuk eksplorasi lebih lanjut, lihat sumber berikut:

Adel Nehme

Penulis

Adel Nehme

Adel adalah pendidik Data Science, pembicara, dan VP Media di DataCamp. Adel telah merilis berbagai kursus dan pelatihan langsung tentang analisis data, machine learning, dan rekayasa data. Ia bersemangat menyebarkan keterampilan dan literasi data di seluruh organisasi serta mengeksplorasi persinggungan teknologi dan masyarakat. Ia meraih gelar MSc di bidang Data Science dan Business Analytics. Di waktu luang, Anda bisa menemukannya bersantai bersama kucingnya, Louis.

Topik

Terkait

blogs

Spaghetti Plot dan Jalur Badai

blogs

Tutorial Korelasi di R