M8 · Pandas ile Veri Analizi
GroupBy: Böl-Uygula-Birleştir
Neden bu konu?
Ham sipariş tablosu 50.000 satırsa, kimse ona bakıp 'İzmir mi Ankara mı daha çok kazandırıyor' sorusunu cevaplayamaz; karar için satırları gruplayıp özetlemen gerekir. groupby olmadan bu işi elle Excel pivotunda yaparsın: yavaş, tekrarlanamaz, her yeni veri geldiğinde sıfırdan. Analistin işi tam da 'her satır' ile 'tek karar' arasındaki köprüyü kurmaktır ve bu köprünün adı gruplayıp toplamaktır. Bunu bilmeyen biri veriyi görür ama okuyamaz; bilen biri 50.000 satırı üç satır kodla 'şehir başına ciro' tablosuna çevirir.
Benzetme: kavramın günlük karşılığı
groupby, SQL'deki GROUP BY'ın Python'da yaşayan kardeşidir; ikisi de aynı üç adımı yapar: böl, uygula, birleştir. Kutu kutu gelen kargoları önce şehre göre ayrı raflara böl (grupla), her rafın toplam ağırlığını tart (uygula: sum/mean), sonra 'şehir → toplam' diye tek listeye yaz (birleştir). SQL bu işi sunucuda tablo olarak yapar, pandas aynısını belleğinde DataFrame olarak yapar — cümleler farklı, kafa yapısı bir.
Bu işin sırrı: kalıplar
- İskelet hep aynı: df.groupby("grup_sutunu")["olcut_sutunu"].ozet() — önce neye göre bölüneceğini, sonra hangi sütunu, en son hangi özeti (sum/mean/count) söylersin.
- SQL köprüsü birebir: SELECT sehir, SUM(tutar) FROM df GROUP BY sehir karşılığı df.groupby("sehir")["tutar"].sum(). GROUP BY'daki sütun groupby'a, SUM(tutar) ise ["tutar"].sum()'a düşer.
+ 3 kalıp daha tam derste
İlk uygulama adımı
1. NovaCommerce mini DataFrame'ini kur
Bir not defterinde (Jupyter/Colab) şunu çalıştır: import pandas as pd df = pd.DataFrame({ "sehir": ["Izmir", "Ankara", "Izmir", "Ankara", "Izmir"], "tutar": [100, 250, 150, 300, 200], "adet": [1, 2, 1, 3, 2] }) print(df)
Kontrol noktası: 5 satır, 3 sütunlu bir tablo görürsün; sol tarafta 0-4 index var. Izmir 3 kez, Ankara 2 kez geçiyor.
+ 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, 8 tekrar kartı ve NovaCommerce proje görevi.