M8 · Pandas ile Veri Analizi
Filtreleme ve Seçme Kalıpları
Neden bu konu?
Gerçek analizde ham tabloya bakarak karar vermezsin; her soru önce bir daraltmadır. 'Geçen ay İzmir'de 100 TL üzeri iptal olan siparişler' cümlesi tek başına bir filtreleme zinciridir — ve bu daraltmayı doğru kuramazsan analizin geri kalanı yanlış satırlar üzerinde çalışır. Spreadsheet'te filtreyi elle tıklarsın, ama üç gün sonra 'bu rakama hangi filtrelerle ulaştın?' diye sorulduğunda cevap tıklamalarında kaybolur. Kodla filtreleme bu izi yazılı bırakır: hangi koşulu neden koyduğun satırda durur, tekrar çalıştırmak bedavadır. Bu ders, 'doğru satırları seçme' becerisini — ki tüm pandas işlerinin ilk yarısıdır — kalıplara oturtur.
Benzetme: kavramın günlük karşılığı
Boolean filtreleme, Excel'deki filtre hunisinin kod halidir. Excel'de bir sütunun başlığındaki oka tıklayıp 'tutar > 100' dersin ve tablo o satırlara daralır — pandas'ta aynı şeyi df[df["tutar"] > 100] diye yazarsın. Fark şu: Excel filtresi ekranda gizler, pandas filtresi sana yeni bir tablo verir. Ve o parantezin içindeki koşul, her satır için 'evet/hayır' diyen görünmez bir kolon üretir; pandas sadece 'evet' diyen satırları tutar.
Bu işin sırrı: kalıplar
- Tek sütun mu, birkaç sütun mu: df["tutar"] tek sütunu Series olarak verir; df[["sehir", "tutar"]] çift köşeli parantezle birden çok sütunu DataFrame olarak verir. İçerideki liste = 'şu sütunları istiyorum'.
- Filtre iki katlıdır: önce koşul bir maske üretir (df["tutar"] > 100 → True/False dizisi), sonra o maskeyi df[...] içine koyunca True olan satırlar süzülür. Maskeyi ayrı bir değişkene yazıp bakmak öğretici: maske = df["tutar"] > 100.
+ 3 kalıp daha tam derste
İlk uygulama adımı
1. NovaCommerce mini sipariş tablosunu kur
Yeni bir not defteri/Colab hücresine şu çalıştırılabilir kodu yaz: import pandas as pd; df = pd.DataFrame({"siparis_id": [101, 102, 103, 104, 105], "sehir": ["İzmir", "Ankara", "İzmir", "İstanbul", "Ankara"], "tutar": [80, 250, 130, 95, 300], "durum": ["teslim", "iptal", "teslim", "teslim", "iptal"]}). Sonra df yazıp çalıştır.
Kontrol noktası: 5 satırlık, 4 sütunlu (siparis_id, sehir, tutar, durum) bir tablo görürsün; sol tarafta 0-4 arası indeks numaraları var.
+ 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ı, 5 soruluk quiz, 7 tekrar kartı ve NovaCommerce proje görevi.