Data Wrangling

Pandas DataFrame’lerinde NaN Değerlerini Etkin Bir Şekilde Tespit Etme

Spread the love

NaN (Not a Number) değerleriyle temsil edilen eksik verilerle başa çıkmak, herhangi bir veri analizi iş akışında çok önemli bir adımdır. Veri manipülasyonu için güçlü bir Python kütüphanesi olan Pandas, DataFrame’ler içindeki NaN’leri algılamak ve işlemek için verimli yöntemler sunar. Bu makale, pratik örneklerle kullanımını göstererek iki temel yaklaşımı inceleyecektir: isnull() ve isna().

İçerik Tablosu

pandas.DataFrame.isnull() Metodu

isnull() metodu, NaN değerlerini tanımlamak için temel bir araçtır. Bir Pandas DataFrame üzerinde çalışır ve aynı şekle sahip bir boolean DataFrame döndürür. Bir True değeri NaN’nin varlığını, False ise geçerli bir değeri gösterir.


import pandas as pd
import numpy as np

# Örnek DataFrame
data = {'A': [1, 2, np.nan, 4],
        'B': [5, np.nan, 7, 8],
        'C': [9, 10, 11, 12]}
df = pd.DataFrame(data)

# NaN'leri Algıla
isnull_df = df.isnull()
print(isnull_df)

Bu, NaN konumlarını vurgulayan bir boolean DataFrame çıktısı verecektir.

Tüm DataFrame içinde herhangi bir NaN’nin varlığını kontrol etmek için isnull() metodunu any() metoduyla birleştirin:


has_nan = df.isnull().any().any()
print(f"DataFrame herhangi bir NaN değeri içeriyor mu? {has_nan}")

pandas.DataFrame.isna() Metodu

isna() metodu, isnull() ile işlevsel olarak aynıdır. Aynı amaca hizmet eder – NaN değerlerini tanımlamak ve bir boolean DataFrame döndürmek. İkisi arasından seçim yapmak büyük ölçüde kişisel tercihe bağlıdır; birçok kişi isna()‘yı daha okunaklı bulur.


isna_df = df.isna()
print(isna_df)

Belirli Sütunlarda NaN’leri Algılama

Çoğu zaman, yalnızca belirli sütunlar içindeki NaN’leri kontrol etmeniz gerekir. Bu, isnull() veya isna() metodunu belirli bir sütuna uygulayarak gerçekleştirilebilir:


has_nan_in_column_A = df['A'].isna().any()
print(f"'A' sütunu herhangi bir NaN değeri içeriyor mu? {has_nan_in_column_A}")

NaN Değerleriyle Baş Etme

NaN’ler tespit edildikten sonra, bunlarla başa çıkmak için çeşitli stratejiler kullanılabilir. Yaygın yaklaşımlar şunlardır:

  • Kaldırma: dropna() kullanarak NaN içeren satırları veya sütunları bırakma.
  • Değer Atama: fillna() kullanarak NaN’leri tahmini değerlerle (örneğin, ortalama, medyan veya bir sabit) değiştirme.

En iyi yaklaşım, verilerinizin doğasına ve analiz hedeflerine bağlıdır.

Özetle, hem isnull() hem de isna(), Pandas DataFrame’lerinde eksik verileri etkili bir şekilde algılamak ve yönetmek için değerli araçlardır. Bu yöntemleri veri temizleme teknikleriyle birleştirmek, analizlerinizde veri kalitesini ve doğruluğunu sağlar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir