Ulu Önder Mustafa Kemal Atatürk'ü aramızdan ayrılışının 88. yılında saygı, minnet ve özlemle anıyoruz.

Pandas ile veri temizlemede en çok kullanılan işlemler

elif.aydin Mid 18 saat önce · 3 görüntülenme

Veri analizinde zamanın büyük kısmı modele değil, veriyi temizlemeye gider. Pandas ile en sık ihtiyaç duyacağın işlemleri tek yerde topladım.

import pandas as pd
df = pd.read_csv("veri.csv")

1. Veriyi tanımak

df.head()          # ilk satırlar
df.info()          # sütun tipleri ve boş değer sayıları
df.describe()      # sayısal özet
df.isna().sum()    # sütun başına eksik değer

2. Türkçe karakter ve ayraç sorunları

Excel'den gelen CSV'lerde ayraç genelde ;, ondalık ayraç , olur:

df = pd.read_csv("veri.csv", sep=";", decimal=",", encoding="utf-8")

Karakterler bozuk görünüyorsa encoding="cp1254" (Windows Türkçe) dene.

3. Sütun adlarını düzeltmek

df.columns = (df.columns.str.strip()
                         .str.lower()
                         .str.replace(" ", "_"))

4. Eksik değerler

df = df.dropna(subset=["musteri_id"])               # zorunlu alan boşsa sil
df["sehir"] = df["sehir"].fillna("Bilinmiyor")      # metinde varsayılan
df["tutar"] = df["tutar"].fillna(df["tutar"].median())  # sayıda medyan

Eksik değeri doldurmadan önce neden eksik olduğunu düşün; bazen eksiklik başlı başına bir bilgidir.

5. Tekrarlanan satırlar

df.duplicated().sum()
df = df.drop_duplicates(subset=["siparis_no"], keep="last")

6. Veri tiplerini düzeltmek

df["tarih"] = pd.to_datetime(df["tarih"], dayfirst=True, errors="coerce")
df["tutar"] = pd.to_numeric(df["tutar"], errors="coerce")
df["kategori"] = df["kategori"].astype("category")

errors="coerce" dönüştürülemeyen değerleri NaT/NaN yapar; sonra bunları ayrıca incele.

7. Metin temizliği

df["sehir"] = df["sehir"].str.strip().str.title()
df["telefon"] = df["telefon"].str.replace(r"\D", "", regex=True)

Türkçe'de str.lower() "I" harfini "ı" yerine "i" yapar; şehir adları gibi alanlarda bunu aklında tut.

8. Aykırı değerler

q1, q3 = df["tutar"].quantile([0.25, 0.75])
iqr = q3 - q1
aykiri = df[(df["tutar"] < q1 - 1.5*iqr) | (df["tutar"] > q3 + 1.5*iqr)]

Aykırı değeri silmeden önce gerçek mi yoksa hata mı olduğuna karar ver.

9. Temiz veriyi kaydetmek

df.to_parquet("temiz.parquet")   # tipleri korur, hızlıdır
df.to_csv("temiz.csv", index=False)

Kullandığınız ve listede olmayan bir pratik varsa ekleyin.

0

0 cevap

Henüz cevap yok. İlk cevabı sen yaz.

Cevap yaz

Cevap yazmak için giriş yapmalısın.

Konu bilgisi
  • Açılış10.11.2026
  • Son etkinlik18 saat önce
  • Cevap0
  • Görüntülenme3
  • Beğeni0
Yeni konu aç