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.
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.