M4 · Veri Temizleme ve Hazırlık

Temizlik Sürecini Belgelemek ve Tekrarlanabilirlik

Güncellendi: 13 Temmuz 2026·Başlıktan özgün üretildiSade anlatım modu

Neden bu konu?

Bir analist ham sipariş dosyasını Excel'de elle düzeltirse, veri her yenilendiğinde aynı düzeltmeleri hatırlamak ve tekrarlamak zorunda kalır; bir hücre unutulduğunda rapor sessizce yanlışlaşır. NovaCommerce örneğinde 9 satırlık ham veride duplicate, parse hatası, eksik değer, negatif tutar ve bilinmeyen şehir aynı anda var. Bu kararlar kayıtlı ve tekrar çalıştırılabilir bir fonksiyonda toplanmazsa, hangi satırın neden çıkarıldığı kanıtlanamaz, denetimde "bu 4725.75 TL toplamına nasıl ulaştın?" sorusu yanıtsız kalır ve ekipteki herkes aynı ham veriden farklı sonuç üretir. Tekrarlanabilir temizlik, güveni kişisel hafızadan koda taşır.

Benzetme: kavramın günlük karşılığı

Temizleme fonksiyonu bir laboratuvar protokolü gibidir: aynı numune (ham DataFrame) ve aynı sürüm numaralı protokol (m4-v1 kuralları) her çalıştırmada aynı sonucu üretir. Numunenin orijinali asla değiştirilmez, kopyası üzerinde çalışılır; şüpheli örnekler çöpe atılmaz, etiketlenip karantina rafına kaldırılır ve her işlem deney defterine (audit tablosu) kural kimliğiyle yazılır. Elle hücre düzeltmek, protokolsüz deney yapmak gibidir: sonuç çıkabilir ama kimse tekrarlayamaz.

Bu işin sırrı: kalıplar

  • Fail fast şema kontrolü: gerekli = {"siparis_id","tutar_raw","sehir_raw","musteri_tipi"}; eksik = gerekli - set(df.columns); if eksik: raise ValueError(f"Eksik sütunlar: {eksik}") — bozuk girdiyle yarım çıktı üretme, kapıda durdur.
  • Girdiyi koru, kopyada çalış: df = raw_df.copy(deep=True) ile başla; fonksiyon sonunda pd.testing.assert_frame_equal(raw_df, raw_yedek) testinin geçmesi, girdinin bozulmadığının kanıtıdır.

+ 3 kalıp daha tam derste

İlk uygulama adımı

1. Ham veriyi kur ve girdiyi mühürle

Tek hücrede pd.DataFrame ile 9 satırlık NovaCommerce ham verisini oluştur: siparis_id [S001,S002,S003,S003,S004,S005,S006,S007,S008]; tutar_raw ["1.250,50 TL","900 TL","hatalı","hatalı",None,"75,25 TL","2.500 TL","-50 TL","450 TL"]; sehir_raw ["İSTANBUL"," ANKARA ","İstanbul","İstanbul","İZMİR","İZMİR","İstanbul","İstanbul","Bursa?"]; musteri_tipi 7. satır "kurumsal", diğerleri "bireysel". Hemen ardından raw_yedek = raw_df.copy(deep=True) ile mühür kopyası al.

Kontrol noktası: raw_df.shape (9, 4) döner ve raw_df[raw_df.duplicated(keep=False)] çıktısında iki S003 satırı birebir aynı görünür.

+ 5 adım daha tam derste

Dersin devamı erken erişimde

Tam derste seni bekleyenler: 6 kontrol noktalı uygulama adımı, gerçek dünya kullanımı (analist + scientist + AI perspektifi), 4 yaygın tuzak, mülakat sorusu ve model cevabı, 4 soruluk quiz, 8 tekrar kartı ve NovaCommerce proje görevi.