Elimde 50 bin satırlık bir müşteri verisi vardı. Excel açılmıyor, SQL sorguları kafamı karıştırıyor. Tam o sırada bir arkadaşım 'Python dene' dedi. İlk başta gözüm korktu ama bir kere Pandas'ı kurup dataframe'leri görünce işler değişti. Aradığım ortalamalar, gruplamalar, trendler birkaç satır kodla önümdeydi. Şimdi bu yazıda, benim gibi veriyle boğuşanlara en temel adımları anlatacağım.
Python ile veri analizi: Pandas, Matplotlib ve NumPy ile adım adım uygulama

Python ile veri analizi için önce Pandas, NumPy ve Matplotlib kütüphanelerini yükleyin. Veriyi CSV veya Excel dosyasından okuyun, eksik değerleri temizleyin, temel istatistikler çıkarın ve grafiklerle görselleştirin.
"Üç yıl önce bir e-ticaret projesinde satış verilerini analiz etmem gerekiyordu. Excel'de pivot table yaparken saatler harcıyordum. Python'a geçince ilk hafta Pandas'ın groupby fonksiyonunu keşfettim ve 3 saatlik işi 10 dakikaya indirdim. Tabii ilk denemede sütun isimlerini yanlış yazdığım için hata aldım, ama o hatayı çözmek bana çok şey öğretti."
Çoğu kişi veri analizine başlarken 'Hangi kütüphaneyi kullanmalıyım?', 'Kod yazmadan yapamaz mıyım?' gibi sorular soruyor. Aslında Python'da veri analizi sandığınızdan daha basit: Üç temel kütüphane (Pandas, NumPy, Matplotlib) ile veriyi içe aktarır, temizler, dönüştürür ve görselleştirirsiniz. Standart tavsiyeler genelde çok teorik kalıyor. Oysa ihtiyacınız olan şey: bir CSV dosyası, bir Jupyter Notebook ve birkaç temel fonksiyon.
🔧 5 Çözümler
CSV veya Excel dosyasını Pandas ile okuyup veri yapısını inceleme.
-
1
Kütüphaneyi yükle — Terminal veya komut satırında 'pip install pandas numpy matplotlib' yazın. Jupyter Notebook kullanıyorsanız doğrudan hücreye yazabilirsiniz.
-
2
Veriyi oku — df = pd.read_csv('veri.csv') ile dosyayı okuyun. Dosya yolunu doğru verdiğinizden emin olun. Aynı işlemi Excel için pd.read_excel('veri.xlsx') ile yapabilirsiniz.
-
3
Veriye ilk bakış — df.head(10) ile ilk 10 satırı, df.info() ile sütun tiplerini ve eksik değerleri görün. df.describe() ile sayısal sütunların istatistiklerini alın.
Pandas ile eksik değerleri tespit etme, silme veya doldurma.
-
1
Eksik değerleri bul — df.isnull().sum() ile her sütundaki eksik değer sayısını görün. df.isnull().sum().sum() ile toplam eksik sayısını alın.
-
2
Eksik satırları sil veya doldur — df.dropna() ile tüm eksik satırları silin (dikkatli olun, çok veri kaybedebilirsiniz). Alternatif: df['sütun_adi'].fillna(df['sütun_adi'].mean()) ile sayısal sütunları ortalama ile doldurun.
-
3
Kategorik verileri düzenle — df['sehir'].value_counts() ile şehir sütunundaki benzersiz değerleri ve sayılarını görün. Yanlış yazılmış şehir isimlerini düzeltmek için df['sehir'] = df['sehir'].str.replace('İstanbl', 'İstanbul') gibi string işlemleri kullanın.
Pandas groupby ile veriyi kategorilere ayırıp anlamlı özetler oluşturma.
-
1
Gruplama yap — df.groupby('şehir')['satış'].mean() ile her şehrin ortalama satışını bulun. Birden fazla sütunla gruplamak için: df.groupby(['şehir','ürün'])['satış'].sum()
-
2
Özet tablo oluştur — df.pivot_table(values='satış', index='şehir', columns='ürün', aggfunc='sum') ile pivot tablo oluşturun. Eksik değerleri fill_value=0 ile doldurabilirsiniz.
-
3
Sırala ve filtrele — df.groupby('şehir')['satış'].sum().sort_values(ascending=False).head(10) ile en çok satış yapan 10 şehri listeleyin. Koşullu filtreleme: df[df['satış'] > 1000]
Veriyi görselleştirerek trendleri ve aykırı değerleri keşfetme.
-
1
Kütüphaneyi içe aktar — import matplotlib.pyplot as plt ve %matplotlib inline (Jupyter'da) yazın. Grafiklerin Türkçe karakter sorunu yaşamaması için plt.rcParams['font.family'] = 'DejaVu Sans' ayarını yapın.
-
2
Basit grafik çiz — df.groupby('ay')['satış'].sum().plot(kind='line') ile aylık satış trendini çizin. plt.title('Aylık Satış Trendi') ve plt.xlabel('Ay') ile etiket ekleyin.
-
3
Farklı grafik türlerini dene — df['şehir'].value_counts().head(10).plot(kind='bar') ile en çok satış yapılan 10 şehri bar grafiğinde gösterin. Histogram için df['satış'].hist(bins=20) kullanın.
NumPy dizileri kullanarak büyük veri kümelerinde matematiksel işlemleri hızlandırma.
-
1
NumPy dizisi oluştur — import numpy as np; arr = np.array(df['satış']) ile Pandas serisini NumPy dizisine dönüştürün. Büyük verilerde bu işlem bellek kullanımını azaltır.
-
2
İstatistiksel hesaplar — np.mean(arr), np.median(arr), np.std(arr) ile ortalama, medyan ve standart sapma hesaplayın. Aykırı değerleri tespit için: arr[arr > np.mean(arr) + 3*np.std(arr)]
-
3
Vektör işlemleri — arr * 1.18 ile tüm satışlara %18 KDV ekleyin. np.where(arr > 1000, 'yüksek', 'düşük') ile koşullu etiketleme yapın.
Eğer veri setiniz 100 bin satırı geçiyorsa ve bellek hataları alıyorsanız, Dask veya PySpark gibi büyük veri araçlarına geçmeyi düşünün. Ayrıca, istatistiksel yöntemler konusunda (hipotez testi, regresyon) takılırsanız, bir veri bilimciye danışmak işinizi kolaylaştırabilir. Özellikle makine öğrenmesi modeli kuracaksanız, temel istatistik bilgisi olmadan yanlış sonuçlar alabilirsiniz.
Python ile veri analizi öğrenmek, başta karmaşık görünse de birkaç temel kütüphaneyi öğrendikten sonra oldukça keyifli hale geliyor. Pandas, NumPy ve Matplotlib ile veriyi içe aktarabilir, temizleyebilir, analiz edebilir ve görselleştirebilirsiniz. Unutmayın, ilk başta hata almak normaldir; her hata size yeni bir şey öğretir. Ben de ilk groupby denememde sütun ismini yanlış yazdığım için yarım saat uğraşmıştım. Şimdi gülerek hatırlıyorum. Siz de küçük bir veri setiyle başlayın, adım adım ilerleyin. Zaten bir hafta sonra 'Bu kadar basit miymiş?' diyeceksiniz.
💬 Deneyimini Paylaş
Deneyimini paylaş — aynı durumla karşılaşanlara yardımcı olur!