0Pricing
Python Academy · Ders

Birleştirme, Katılma ve Veri Temizleme

DataFrame'leri birleştirin ve eksik değerleri profesyonelce ele alın.

Birleştirme, Katılma ve Veri Temizleme, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 4. 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.

pd.merge

pd.merge(left, right, on="key"), iki DataFrame'i ortak bir sütun üzerinden birleştirir; SQL JOIN işlemine benzer.

import pandas as pd

users = pd.DataFrame({"id":[1,2,3],"name":["A","B","C"]})
orders = pd.DataFrame({"user_id":[1,1,2],"amount":[100,50,200]})
result = pd.merge(users, orders, left_on="id", right_on="user_id")
print(result)

Birleştirme Türleri

Hangi satırların korunacağını belirlemek için how="inner" (varsayılan), "left", "right" veya "outer" belirtin.

import pandas as pd

A = pd.DataFrame({"key":["a","b","c"],"val":[1,2,3]})
B = pd.DataFrame({"key":["b","c","d"],"x":[10,20,30]})

print(pd.merge(A, B, on="key", how="left"))   # all of A
print(pd.merge(A, B, on="key", how="outer"))  # all rows

df.join

df.join(other), indeks üzerinden birleştirme yapar. Bir sütun yerine indeks üzerinden birleştirme yaparken daha hızlı ve daha basittir.

import pandas as pd

df1 = pd.DataFrame({"a":[1,2]}, index=["x","y"])
df2 = pd.DataFrame({"b":[3,4]}, index=["x","y"])
print(df1.join(df2))
# x: a=1 b=3
# y: a=2 b=4

concat

pd.concat([df1, df2]), DataFrames'i dikey olarak (axis=0) veya yatay olarak (axis=1) üst üste ekler.

import pandas as pd

df1 = pd.DataFrame({"a":[1,2]})
df2 = pd.DataFrame({"a":[3,4]})
print(pd.concat([df1,df2], ignore_index=True))
# a: 1 2 3 4

# Horizontal:
df3 = pd.DataFrame({"b":[5,6]})
print(pd.concat([df1,df3], axis=1))

Eksik Değerleri Yönetme

NaN değerlerini isna()/notna() ile algılayın. fillna() ile doldurun. dropna() ile kaldırın.

import pandas as pd, numpy as np

df = pd.DataFrame({"a":[1,np.nan,3],"b":[np.nan,2,3]})
print(df.isna().sum())      # count nulls per column
df["a"] = df["a"].fillna(0)
df = df.dropna()            # drop rows with any null

fillna Stratejileri

Eksik değerleri bir sabit, ileriye doğru doldurma (ffill), geriye doğru doldurma (bfill) veya sütun ortalamasıyla doldurun.

import pandas as pd, numpy as np

df = pd.DataFrame({"val":[1, np.nan, np.nan, 4]})
print(df["val"].ffill())   # forward fill: 1 1 1 4
print(df["val"].bfill())   # back fill:    1 4 4 4
print(df["val"].fillna(df["val"].mean()))   # fill with mean

Veri Türlerini Değiştirme

Sütun türlerini dönüştürmek için astype() kullanın. Tarih ayrıştırma için pd.to_datetime(), güvenli sayısal dönüşüm için errors="coerce" ile birlikte pd.to_numeric kullanın.

import pandas as pd

df = pd.DataFrame({"age":["25","30","35"],"date":["2024-01-01","2024-06-15","2024-12-31"]})
df["age"] = df["age"].astype(int)
df["date"] = pd.to_datetime(df["date"])
print(df.dtypes)

Metin Temizleme

Pandas'ın .str erişicisi vektörleştirilmiş metin işlemleri sağlar: strip(), lower(), replace(), extract().

import pandas as pd

df = pd.DataFrame({"name":["  Alice  "," bob","CAROL"]})
df["clean"] = df["name"].str.strip().str.title()
print(df["clean"])   # Alice / Bob / Carol

Sütunları Yeniden Adlandırma ve Sıralama

df.rename(columns={"old":"new"}) ile yeniden adlandırın. Bir listeyle indeksleme yaparak yeniden sıralayın.

import pandas as pd

df = pd.DataFrame({"a":[1],"b":[2],"c":[3]})
df = df.rename(columns={"a":"alpha","b":"beta"})
df = df[["c","beta","alpha"]]   # reorder
print(df.columns.tolist())      # ['c', 'beta', 'alpha']

Yinelenenleri Algılama

Yinelenenleri duplicated() ile bulun ve drop_duplicates() ile kaldırın.

import pandas as pd

df = pd.DataFrame({"id":[1,2,1,3],"val":["a","b","a","c"]})
print(df.duplicated())           # [F F T F]
print(df[df.duplicated()])       # show duplicates
clean = df.drop_duplicates(subset=["id"])

Satır/Sütun Dönüşümleri için apply

df.apply(func, axis=1), her satıra bir işlev uygular. axis=0 ise işlevi her sütuna uygular.

import pandas as pd

df = pd.DataFrame({"a":[1,2,3],"b":[4,5,6]})
# New column = row sum:
df["total"] = df.apply(lambda row: row["a"] + row["b"], axis=1)
print(df)

Hızlı Kontrol

df.fillna(method="ffill") ne yapar?

Özet

SQL tarzı birleştirmeler için pd.merge, üst üste ekleme için pd.concat kullanın. NaN değerlerini isna(), fillna() ve dropna() ile yönetin. Metinleri .str erişicisiyle temizleyin. Türleri astype() ve pd.to_datetime() ile dönüştürün.

Sıkça Sorulan Sorular

“Birleştirme, Katılma ve Veri Temizleme” dersi ücretsiz mi?

Evet — “Birleştirme, Katılma ve Veri Temizleme” 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.

“Birleştirme, Katılma ve Veri Temizleme” dersinde ne öğreneceğim?

DataFrame'leri birleştirin ve eksik değerleri profesyonelce ele alın. 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 4. dersidir.

“Birleştirme, Katılma ve Veri Temizleme” 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