0Pricing
Python Academy · Ders

GroupBy, Birleştirme ve Özet Tablolar

groupby işlemleri ve özet tablolarla verileri özetleyin.

GroupBy, Birleştirme ve Özet Tablolar, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. 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, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

groupby Temelleri

df.groupby("col"), DataFrame'i sütunun benzersiz değerlerine göre gruplara ayırır. Sonuçları almak için bir toplama işlemini zincirleyin.

import pandas as pd

df = pd.DataFrame({
    "dept":["HR","IT","HR","IT","HR"],
    "salary":[60,80,65,90,70]
})
print(df.groupby("dept")["salary"].mean())
# HR    65.0
# IT    85.0

Birden Çok Toplama İşlevi

Birden çok toplama işlevini aynı anda uygulamak için agg() kullanın.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR","IT"],"sal":[60,80,65,90]})
result = df.groupby("dept")["sal"].agg(["mean","max","count"])
print(result)

Adlandırılmış Toplamalar

Çıktı sütunlarını açıkça adlandırmak için agg() içinde anahtar sözcük bağımsız değişkenleri kullanın (Pandas 0.25+).

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR","IT"],"sal":[60,80,65,90]})
result = df.groupby("dept").agg(
    avg_sal=("sal","mean"),
    max_sal=("sal","max"),
    count=("sal","size")
)
print(result)

Birden Çok Sütunda groupby

Hiyerarşik gruplar oluşturmak için bir sütun listesi aktarın.

import pandas as pd

df = pd.DataFrame({
    "year":[2023,2023,2024,2024],
    "dept":["HR","IT","HR","IT"],
    "sal":[60,80,65,90]
})
print(df.groupby(["year","dept"])["sal"].sum())

transform()

transform, özgün indeksle hizalanmış bir Series döndürür; grup düzeyindeki istatistikleri özgün DataFrame'e geri eklemek için kullanışlıdır.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR","IT"],"sal":[60,80,65,90]})
df["dept_avg"] = df.groupby("dept")["sal"].transform("mean")
print(df)

filter()

filter(func), işlevin True döndürdüğü grupları korur.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR"],"sal":[60,80,65]})
# Keep only departments with mean salary > 70:
result = df.groupby("dept").filter(lambda g: g["sal"].mean() > 70)
print(result)

pivot_table

pd.pivot_table, özel toplama işlemleriyle elektronik tablo tarzı bir özet oluşturur.

import pandas as pd

df = pd.DataFrame({
    "year":[2023,2023,2024,2024],
    "region":["East","West","East","West"],
    "sales":[100,150,120,200]
})
pt = pd.pivot_table(df, values="sales",
                    index="year", columns="region",
                    aggfunc="sum")
print(pt)

crosstab

pd.crosstab, kategorik değer birleşimlerini saymak için kullanışlı olan çapraz tabloyu hesaplar.

import pandas as pd

df = pd.DataFrame({"gender":["M","F","M","F","M"],"result":["pass","pass","fail","fail","pass"]})
print(pd.crosstab(df["gender"], df["result"]))

apply()

apply(func), her grubun DataFrame'ine (axis=0) veya her satıra/sütuna (axis=1) özel bir işlev uygular.

import pandas as pd

df = pd.DataFrame({"dept":["HR","IT","HR"],"sal":[60,80,65]})

def range_sal(g):
    return g["sal"].max() - g["sal"].min()

print(df.groupby("dept").apply(range_sal))

Yeniden Şekillendirme için unstack

Çok düzeyli bir groupby işleminden sonra, en içteki indeks düzeyini sütunlara taşımak için unstack() kullanın.

import pandas as pd

df = pd.DataFrame({"year":[2023,2023,2024],"dept":["HR","IT","HR"],"sal":[60,80,65]})
result = df.groupby(["year","dept"])["sal"].mean().unstack()
print(result)

Zaman Serilerini Yeniden Örnekleme

resample("M"), bir zaman serisi DataFrame'ini takvim dönemlerine göre gruplar ve aylık/yıllık toplamaların yapılmasını sağlar.

import pandas as pd

idx = pd.date_range("2024-01-01", periods=90, freq="D")
df = pd.DataFrame({"sales": range(90)}, index=idx)
monthly = df.resample("ME").sum()
print(monthly)

Hızlı Kontrol

groupby().transform("mean") ne döndürür?

Özet

groupby, verileri toplama işlemleri için gruplara ayırır. Birden çok işlev için agg(), grup istatistiklerini her satıra yaymak için transform(), grupları kaldırmak için filter(), boyutlar arası özetler için pivot_table()/crosstab() kullanın.

Sıkça Sorulan Sorular

“GroupBy, Birleştirme ve Özet Tablolar” dersi ücretsiz mi?

Evet — “GroupBy, Birleştirme ve Özet Tablolar” 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 Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“GroupBy, Birleştirme ve Özet Tablolar” dersinde ne öğreneceğim?

groupby işlemleri ve özet tablolarla verileri özetleyin. Python Academy 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.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, 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 3. dersidir.

“GroupBy, Birleştirme ve Özet Tablolar” 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 Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy 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. Series ve DataFrame Temelleri
  2. İndeksleme, Filtreleme ve Mantıksal Maskeler
  3. GroupBy, Birleştirme ve Özet Tablolar
  4. Birleştirme, Katılma ve Veri Temizleme
← Python Academy Sayfasına Dön