M8 · Pandas ile Veri Analizi
Birleştirme: merge ve concat
Neden bu konu?
Sipariş tutarı orders tablosunda, müşteri segmenti customers tablosunda, ürün kategorisi products tablosundaysa gerçek bir iş sorusunu tek tabloyla cevaplayamazsın. pandas merge tabloları anahtar ilişkisiyle yan yana, concat ise aynı yapıda gelen parçaları alt alta veya eksen boyunca birleştirir. Yanlış anahtar ya da bilinmeyen kardinalite, kod hata vermeden satırları çoğaltıp ciroyu şişirebilir. Bu nedenle birleştirmenin asıl becerisi komutu yazmak değil, beklenen satır tanesini ve kayıpları kanıtlamaktır.
Benzetme: kavramın günlük karşılığı
merge iki sınıf listesini öğrenci numarasıyla eşleştirmektir: bir listede ad, diğerinde sınav notu vardır; numara doğru kişiyi bulur. concat ise sabah ve öğleden sonra yoklama sayfalarını aynı kolonlarla alt alta koymaktır. İsme göre eşlersen adaşlar, kolonları kontrol etmeden üst üste koyarsan kaymış kayıtlar çıkar.
Bu işin sırrı: kalıplar
- merge kalıbı: sol.merge(sağ, on='anahtar', how='left', validate='m:1') — anahtar, korunan taraf ve kardinalite aynı satırda görünür olsun.
- Birleştirmeden önce iki tarafta anahtarı say: satır sayısı, boş anahtar ve nunique sonucu beklenen 1:1, 1:N veya N:1 ilişkiyi kanıtlar.
+ 3 kalıp daha tam derste
İlk uygulama adımı
1. İki tablonun tanesini yaz
orders için 'her satır bir sipariş', customers için 'her satır bir müşteri' cümlesini yaz. Her iki tabloda musteri_id boş ve tekil durumunu ölç.
Kontrol noktası: orders.musteri_id tekrar edebilir; customers.musteri_id tekildir. Beklenen ilişki birçok siparişten bir müşteriye, yani m:1'dir.
+ 4 adım daha tam derste
Dersin devamı erken erişimde
Tam derste seni bekleyenler: 5 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ı, 5 soruluk quiz, 7 tekrar kartı ve NovaCommerce proje görevi.