Giriş

Bir veri analizi projesinin zamanının büyük bölümü, modelleme veya görselleştirmeden önce, verinin "kullanılabilir" hâle getirilmesine gider. Bu yazıda pandas ile en sık karşılaşılan üç sorunu ele alıyoruz: eksik değerler, aykırı gözlemler ve tutarsız biçimlendirme.

Eksik Değerler

Eksik değerleri doğrudan silmek her zaman doğru değildir — veri kümesinin ne kadarını kaybettiğinizi önce ölçmelisiniz.

Python
import pandas as pd

df = pd.read_csv("veri.csv")

# Her sütunda eksik değer oranı
eksik_oran = df.isna().mean().sort_values(ascending=False)
print(eksik_oran[eksik_oran > 0])

# %5'ten az eksik olan sütunlarda satırları at, fazlasında doldur
for kolon in df.columns:
    if df[kolon].isna().mean() < 0.05:
        df = df.dropna(subset=[kolon])
    else:
        df[kolon] = df[kolon].fillna(df[kolon].median())

Aykırı Gözlemler

IQR (çeyrekler açıklığı) yöntemi, dağılım hakkında güçlü varsayımlar yapmadan aykırı değerleri tespit etmenin sağlam bir yoludur.

ÖRNEK

Bir gelir sütununda Q1=32.000, Q3=68.000 ise IQR=36.000'dir. Alt sınır 32.000 - 1.5×36.000 = -22.000, üst sınır 68.000 + 1.5×36.000 = 122.000 olur — bu aralığın dışındaki değerler incelemeye alınır.

UYARI

Aykırı değer = hatalı değer değildir. Silmeden önce her zaman verinin kaynağını kontrol edin; bazen "aykırı" olan, en değerli gözlemdir.

Sonuç

Veri temizleme, gösterişli bir iş değildir — ama sonraki her adımın güvenilirliğini belirler. Bir sonraki yazıda, temizlenmiş veriyle keşifsel analiz yapmayı ele alacağız.