0Pricing
Learn AI with Python · Ders

GroupBy ve Toplulaştırma

df.groupby(), agg(), transform(), apply() ve Named Aggregation ile adlandırılmış toplulaştırmalar.

GroupBy ve Toplulaştırma, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Böl-Uygula-Birleştir Fikri

GroupBy, böl-uygula-birleştir örüntüsünü izler: satırları bir anahtara göre gruplara ayırır, her gruba bir işlev uygular ve ardından sonuçları tek bir veri çerçevesinde birleştirir. Çoğu analitik özetin temelini oluşturur.

import pandas as pd
df = pd.DataFrame({
    "dept": ["A", "A", "B", "B", "B"],
    "salary": [50, 70, 40, 60, 80],
})

Temel groupby

df.groupby("col"), gruplanmış bir nesne oluşturur. .mean() gibi bir toplulaştırmayı zincirlemek, her grup için bir değer hesaplar.

print(df.groupby("dept")["salary"].mean())
# dept
# A    60.0
# B    60.0

Birden Çok Toplulaştırma

.agg([...]) ile aynı anda birkaç indirgeme çağırarak her işlev için bir sütun oluşturun.

print(df.groupby("dept")["salary"].agg(["mean", "min", "max", "count"]))

Sütun Bazında Toplulaştırma Sözlüğü

Farklı sütunlara farklı işlevler uygulamak için .agg'e bir sözlük aktarın.

df["bonus"] = [5, 7, 4, 6, 8]
out = df.groupby("dept").agg({"salary": "mean", "bonus": "sum"})
print(out)

Adlandırılmış Toplulaştırma

Adlandırılmış toplulaştırma, pd.NamedAgg söz dizimini kullanarak çıktı sütunlarına anlaşılır adlar verir. Bu, kafa karıştırıcı çok düzeyli sütun başlıklarını önler.

out = df.groupby("dept").agg(
    avg_salary=("salary", "mean"),
    total_bonus=("bonus", "sum"),
)
print(out)

Birden Çok Anahtara Göre Gruplama

Aynı anda birden çok anahtara göre gruplamak için sütunlardan oluşan bir liste aktarın; sonuç hiyerarşik bir (MultiIndex) yapı olur.

df["level"] = ["jr", "sr", "jr", "sr", "sr"]
print(df.groupby(["dept", "level"])["salary"].mean())

transform: Aynı Boyutta Çıktı

.transform(), her grup için bir satır yerine ORIGINAL satırlarla hizalanmış bir sonuç döndürür. Bir grup istatistiğini yeni bir sütun olarak eklemek için idealdir.

df["dept_avg"] = df.groupby("dept")["salary"].transform("mean")
print(df[["dept", "salary", "dept_avg"]])

Normalleştirme için transform

transform her satıra geri yayma yaptığı için gruplar içinde normalleştirme yapabilirsiniz; örneğin grup ortalamasını çıkarabilirsiniz.

df["centered"] = df["salary"] - df.groupby("dept")["salary"].transform("mean")
print(df[["dept", "salary", "centered"]])

Özel Mantık için apply

.apply(), her grubu (alt bir DataFrame olarak) işlevinize aktarır. Yerleşik toplulaştırmaların ifade edemediği mantıklar için, örneğin her grup için ilk N satırı döndürmek amacıyla kullanın.

top = df.groupby("dept").apply(lambda g: g.nlargest(1, "salary"))
print(top[["dept", "salary"]])

agg ve transform ve apply Karşılaştırması

agg, her grubu tek bir değere indirger. transform, her orijinal satır için bir değer döndürür. apply, esnek (ancak daha yavaş) genel amaçlı seçenektir. Açıklık ve hız için en özel olanı seçin.

reset_index ile Grup Çözme

GroupBy sonuçları anahtarları indekse yerleştirir. Bunları çoğu sonraki işlemin beklediği normal sütunlara dönüştürmek için .reset_index() çağrısını kullanın.

flat = df.groupby("dept")["salary"].mean().reset_index()
print(flat)
#   dept  salary
# 0    A    60.0
# 1    B    60.0

Kısa Sınama

groupby konusundaki anlayışınızı sınayın.

Özet

GroupBy temelleri:

  • df.groupby("col") ile böl-uygula-birleştir
  • Birden çok istatistik için .agg([...]) ve sözlük/adlandırılmış toplulaştırma
  • .transform(), orijinal şekille hizalanmış sonuçlar döndürür
  • Her türlü grup başına mantık için .apply()
  • Grup anahtarlarını sütunlara geri dönüştürmek için her zaman .reset_index() kullanın

Sıkça Sorulan Sorular

“GroupBy ve Toplulaştırma” dersi ücretsiz mi?

Evet — “GroupBy ve Toplulaştırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“GroupBy ve Toplulaştırma” dersinde ne öğreneceğim?

df.groupby(), agg(), transform(), apply() ve Named Aggregation ile adlandırılmış toplulaştırmalar. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“GroupBy ve Toplulaştırma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. GroupBy ve Toplulaştırma
  2. Özet Tabloları ve Çapraz Tablolama
  3. Gelişmiş Birleştirme ve Birleşim
  4. Pandas'ta Zaman Serileri
← Learn AI with Python Sayfasına Dön