PYTHON // VERİ ANALİZİD::03 ORTA
21m READCOMPLETION: 86%ID::PY-302

PYTHON İLE VERİ TEMİZLEME: PANDAS, EKSİK VERİ VE RAPORLAMA

Pandas ile eksik veri temizleme, tip dönüşümü, groupby analizi ve raporlanabilir çıktı üretimi.

Python ile Veri Temizleme: Pandas, Eksik Veri ve Raporlama

Gerçek veri genellikle temiz gelmez. Eksik değer, yanlış tip, duplicate kayıt, tutarsız tarih formatı ve boş kolonlar veri analizinin ilk engelleridir. Bu derste Pandas ile veri temizleme yaklaşımını öğreneceksin.

Öğrenme Hedefleri

  • CSV verisini Pandas ile okumak
  • Eksik değerleri analiz etmek
  • Duplicate kayıtları temizlemek
  • Tip dönüşümü yapmak
  • Basit rapor çıktısı üretmek

CSV Okuma

// PYTHON //
import pandas as pd
 
df = pd.read_csv('sales.csv')
print(df.head())
print(df.info())

info() verinin tiplerini ve eksik değer durumunu hızlı gösterir.

Eksik Veri Kontrolü

// PYTHON //
missing = df.isna().sum().sort_values(ascending=False)
print(missing)

Eksik veri her zaman silinmez. Bazı durumlarda doldurulur, bazı durumlarda satır analiz dışı bırakılır.

Eksik Veriyi Doldurma

// PYTHON //
df['country'] = df['country'].fillna('unknown')
df['amount'] = df['amount'].fillna(0)

Sayısal değerlerde ortalama veya medyan kullanılabilir, fakat bunu otomatik karar gibi düşünme. Eksik verinin neden oluştuğunu anlamak gerekir.

Duplicate Temizleme

// PYTHON //
df = df.drop_duplicates()

Eğer benzersiz alan varsa:

// PYTHON //
df = df.drop_duplicates(subset=['order_id'])

Tip Dönüşümü

// PYTHON //
df['created_at'] = pd.to_datetime(df['created_at'], errors='coerce')
df['amount'] = pd.to_numeric(df['amount'], errors='coerce')

Yanlış tipler analiz sonuçlarını bozar.

Groupby Raporu

// PYTHON //
report = (
    df.groupby('category')['amount']
      .agg(['count', 'sum', 'mean'])
      .sort_values('sum', ascending=False)
)
 
report.to_csv('category-report.csv')

Bu çıktı iş tarafına gönderilebilir bir ilk rapordur.

Kalite Kontrol Fonksiyonu

Basit bir veri kalite özeti:

// PYTHON //
def quality_report(df):
    return pd.DataFrame({
        'missing': df.isna().sum(),
        'dtype': df.dtypes.astype(str),
        'unique': df.nunique(),
    })
 
print(quality_report(df))

Bu rapor hangi kolonun temizlenmesi gerektiğini hızlı gösterir.

Gerçek Hayat Uyarıları

  • Para değerlerini string bırakma.
  • Tarih kolonlarını object olarak analiz etme.
  • Duplicate kayıtları silmeden önce neden oluştuğunu anla.
  • Eksik veriyi doldururken raporda belirt.
  • Analiz çıktısını tekrar üretilebilir yap.

Veri analizi sadece grafik çizmek değildir; temiz, açıklanabilir ve tekrar üretilebilir süreç kurmaktır.

Alıştırma

Bir satış CSV dosyası için:

  • Eksik kolonları listele
  • Duplicate siparişleri sil
  • Tarih kolonunu dönüştür
  • Kategori bazlı toplam satış raporu üret
  • Veri kalite raporunu CSV olarak kaydet

Mini Proje

Bir e-ticaret CSV dosyası hayal et:

// TXT //
order_id, customer_id, category, amount, created_at

Bu dosyada eksik amount, duplicate order_id ve bozuk tarih değerleri olsun. Temizledikten sonra kategori bazlı ciro raporu çıkar ve category-report.csv olarak kaydet.

Sonraki Adım

Veri analizi tarafında Python Pandas ve NumPy dersini, genel alan seçimi için Python ile Ne Yapılır? yazısını oku.