Veriyle ilk ciddi temasımı hatırlıyorum. Elimde koca bir CSV vardı, binlerce satır. Excel açılıyor ama kasılıyor, filtreler bir noktadan sonra can sıkıyor. O gün Pandas’la tanıştım ve işler değişti. Bu yazıda Python ile Veri Analizi: Pandas Kütüphanesine Giriş konusunu sohbet eder gibi, ama dolu dolu anlatacağım. Sözüm şu: Yazı bittiğinde veri okuma, temizleme ve temel analiz adımlarını kendi başına yapabilecek hale geleceksin.
Bu içerikte Pandas ile veri bilimine giriş: veri okuma, temizleme ve temel analiz rehberi yaklaşımını oturtacağız. Ayrıca “Pandas kullanarak CSV ve Excel veri okuma işlemleri nasıl yapılır?” sorusuna net cevaplar vereceğiz. Pandas ile veri temizleme (missing values, duplicate, outlier) teknikleri, Pandas DataFrame ile veri manipülasyonu ve filtreleme örnekleri ve veri bilimi için Pandas temel analiz fonksiyonları gibi başlıklar da pratik örneklerle gelecek. Eğer “Pandas veri bilimi eğitimi yakınımda” diye arıyorsan, en sonda bu konuya da değineceğim.
Veri Analizi Nedir?
Veri Analizi Ne İşe Yarar?
Veri analizi, ham veriyi anlamlı bilgiye dönüştürme işidir. Ama sadece rapor çıkarmak değil. Karar vermeyi kolaylaştırır. Mesela bir e-ticaret sitesinde hangi ürünler iade ediliyor, hangi günler sipariş artıyor, müşteri hangi adımda sepeti bırakıyor. Bunların hepsi veri analiziyle görünür olur.
On yıldır şunu görüyorum: Veri analizine “sadece grafik çizmek” diye bakan ekipler yavaş ilerliyor. Soruyu doğru soran ekipler ise hızlı sonuç alıyor. Pandas burada tam bir hızlandırıcı.
Python Neden Veri Analizinde Bu Kadar Popüler?
Python, okunabilirliği yüksek bir dil. Kütüphane ekosistemi güçlü. Pandas, NumPy, Matplotlib gibi araçlar bir araya gelince veriyle çalışma işi gerçekten kolaylaşıyor. Ayrıca otomasyon tarafında da güçlü. Tekrar eden işleri script haline getirmek, veri boru hattını basitleştirmek mümkün.
Pandas’ın Veri Analizindeki Yeri
Pandas, veriyle çalışırken en çok ihtiyaç duyduğun şeyleri tek çatı altında toplar. Okuma, dönüştürme, temizleme, birleştirme, gruplama, özet çıkarma. Kısacası veri masası gibi düşün. Ham veriyi yatırıyorsun, düzenliyorsun, analiz ediyorsun.
Pandas Kütüphanesi Nedir?
Pandas Ne Amaçla Kullanılır?
Pandas, tablo verileriyle çalışmak için geliştirilmiş bir Python kütüphanesidir. En çok DataFrame yapısıyla bilinir. Bir Excel tablosu gibi düşünebilirsin ama çok daha esnek. Ayrıca veriyi kodla yönetmenin güzelliği var. Yaptığın her adım kayıt altına girer, tekrar edilebilir olur.
Pandas’ın Sağladığı Avantajlar
Benim favori avantajlarım şunlar:
- Hızlı okuma ve yazma: CSV, Excel, JSON, Parquet gibi formatlarla rahat çalışırsın.
- Temizleme kolaylığı: Eksik değer, kopya satır, tip dönüşümü gibi işler pratikleşir.
- Analiz fonksiyonları: groupby, pivot, describe gibi fonksiyonlarla hızlı içgörü çıkarırsın.
- Tekrarlanabilirlik: Aynı analizi her hafta aynı kodla çalıştırırsın.
Pandas vs Excel Karşılaştırması
Excel kötü değil. Hatta başlangıç için çoğu zaman ideal. Ama veri büyüdüğünde ya da süreç otomasyona ihtiyaç duyduğunda zorlanır. Pandas ise özellikle şu alanlarda öne çıkar:
- Otomasyon: Tek tık yerine tek satır kod.
- Versiyon kontrol: Kodun Git ile takip edilir.
- Büyük veri setleri: Excel’in zorlandığı yerlerde daha stabil çalışır.
- Gelişmiş dönüşümler: Karmaşık join ve group işlemleri daha düzenli yapılır.
Pandas Kurulumu ve Ortam Hazırlığı
Pandas Nasıl Kurulur?
En yaygın kurulum yöntemi pip kullanmaktır. Terminalde şu komut yeterlidir:
pip install pandas
Anaconda kullanıyorsan çoğu zaman Pandas zaten kurulu gelir. Bu da veri bilimine yeni başlayanlar için kolaylık sağlar.
Jupyter Notebook ile Çalışmak
Jupyter Notebook, veri analizi öğrenirken şahane bir ortamdır. Kod yazarsın, sonucu hemen görürsün. Ben eğitim verirken de genelde Jupyter kullanırım. Çünkü öğrenen kişi anında geri bildirim alır.
İlk Pandas Kodları
Başlangıç için yapacağın ilk iş Pandas’ı import etmek:
import pandas as pd
Bu kısa isimlendirme standarttır. Dokümantasyonda da hep böyle görürsün.
Pandas’ın Temel Yapıları
Series Nedir?
Tek Boyutlu Veri Yapısı Mantığı
Series, tek boyutlu bir veri yapısıdır. Liste gibi düşünebilirsin ama indeks bilgisiyle birlikte gelir. Bir sütunu tek başına ele aldığında çoğu zaman karşına Series çıkar.
Örnek: Bir tablodaki “Yaş” sütunu çoğunlukla Series’tir. Üzerinde ortalama almak, boş değerleri doldurmak gibi işlemler çok rahattır.
DataFrame Nedir?
Satır ve Sütun Bazlı Düşünmek
DataFrame, iki boyutlu tablo veri yapısıdır. Satır ve sütunlardan oluşur. Pandas’ın kalbidir diyebilirim. Excel tablosu benzetmesi burada en doğru olanı.
Ben DataFrame’i “veriyle konuştuğun yer” diye anlatıyorum. Çünkü tüm filtreleme, dönüştürme ve analiz burada olur.
Veri Seti Yükleme ve İnceleme
CSV ve Excel Dosyalarını Okumak
Pandas kullanarak CSV ve Excel veri okuma işlemleri nasıl yapılır? Çok basit. CSV için genelde şunu kullanırsın:
df = pd.read_csv("veri.csv")
Excel için ise:
df = pd.read_excel("veri.xlsx")
Benim küçük önerim: Dosyayı okuduktan sonra hemen df’nin boyutuna ve sütunlarına bak. Bu alışkanlık hatayı erken yakalatır.
head(), info(), describe() Kullanımı
Yeni bir veri setine bakarken ilk üçlü şöyledir:
- head() ilk birkaç satırı gösterir.
- info() sütun tiplerini ve boş değer sayılarını gösterir.
- describe() sayısal sütunlar için özet istatistik verir.
Ben çoğu projede daha analize başlamadan bu üç fonksiyonu çalıştırırım. Çünkü veri “ne anlatıyor” sorusunun ilk cevabı burada saklıdır.
Veri Setini Tanımak Neden Önemli?
Veriyi tanımadan analize başlamak, haritasız yola çıkmak gibi. Eksik değer var mı, uç değer var mı, sütun isimleri tutarlı mı, kategorik alanlar nasıl dağılmış. Bunları bilmeden çıkan sonuçlar yanıltıcı olabilir.
Bu noktada Python ile Veri Analizi: Pandas Kütüphanesine Giriş yaklaşımını aklında tut. Önce tanı, sonra temizle, sonra analiz et.
Veri Seçme ve Filtreleme
Sütun ve Satır Seçimi
DataFrame ile çalışırken en sık yaptığın işlerden biri seçimdir. Sütun seçmek genelde şöyle olur:
df["satis"]
Birden fazla sütun seçmek istersen:
df[["urun", "satis", "tarih"]]
Koşullu Filtreleme
Asıl güç burada. Mesela satış 100’den büyük olanları görmek:
df[df["satis"] > 100]
Pandas DataFrame ile veri manipülasyonu ve filtreleme örnekleri öğrenirken bu tür sorgular seni çok hızlandırır.
Boolean Indexing Mantığı
Boolean indexing, “koşul doğruysa al” mantığıdır. Bir maske üretirsin ve o maskeyle veriyi süzersin. Örnek:
mask = df["sehir"] == "Diyarbakır"
df[mask]
Ben bunu ilk öğrendiğimde “tamam, artık veriyle gerçekten çalışabiliyorum” demiştim.
Veri Temizleme (Data Cleaning)
Eksik Veriler (NaN) ile Çalışmak
Pandas ile veri temizleme (missing values, duplicate, outlier) teknikleri içinde en sık karşılaşacağın konu NaN’dır. Eksik değerleri tespit etmek için:
df.isna().sum()
Eksik değerleri doldurmak bazen mantıklıdır, bazen değildir. Örneğin gelir alanı boşsa ortalama ile doldurmak yerine “neden boş” sorusunu sormak gerekebilir. Ben projelerde bu kararı hep iş bilgisiyle birlikte veririm.
Veri Tiplerini Dönüştürmek
Yanlış veri tipi, analizi bozar. Tarih sütunu metin geldiyse tarihe çevirmek gerekir:
df["tarih"] = pd.to_datetime(df["tarih"])
Benim pratik kuralım: info() çıktısında “object” gördüğüm sütunlara ekstra dikkat ederim. Çünkü çoğu zaman tarih ya da sayı olarak gelmesi gerekir.
Temiz Veri = Doğru Analiz
Bu cümle klişe gibi gelebilir ama gerçek. Temiz olmayan veriyle yapılan analiz çoğu zaman doğru değildir. Bir projede sadece kopya kayıtları temizleyerek raporun tüm sonuçlarını değiştirdiğimi biliyorum. O gün veri temizliğinin “opsiyon” olmadığını bir kez daha anladım.
Temel Veri Analizi İşlemleri
Gruplama (groupby)
Veri bilimi için Pandas temel analiz fonksiyonları içinde groupby en popüler olanlardan. Mesela şehir bazında toplam satış:
df.groupby("sehir")["satis"].sum()
Bu tür bir çıktı, yöneticinin istediği raporun çekirdeği olabilir.
Özet İstatistikler
Ortalama, medyan, standart sapma gibi değerler sana hızlı bir resim verir:
df["satis"].mean()
df["satis"].median()
Sıralama ve Sayma İşlemleri
En çok satan ürünleri görmek için:
df.sort_values("satis", ascending=False).head(10)
Kategorik bir alanda sayım almak için:
df["urun"].value_counts()
Pandas ile Basit Veri Analizi Senaryosu
Gerçek Hayat Veri Seti Üzerinde Çalışma
Mini bir senaryo düşünelim. Bir kurs platformunun veri seti var. Sütunlar: kurs_adi, kategori, fiyat, kayit_sayisi, iade_orani. Soru şu: “Hangi kategoride gelir yüksek, hangi kurslarda iade oranı sorunlu?”
Ben böyle senaryolarda önce geliri hesaplarım:
df["gelir"] = df["fiyat"] * df["kayit_sayisi"]
Sonra kategori bazında toplarım:
df.groupby("kategori")["gelir"].sum().sort_values(ascending=False)
Sorudan Sonuca Gitme Mantığı
İyi analiz, iyi soruyla başlar. Soruyu parçalara böl. Ölçülebilir hale getir. Sonra Pandas ile adım adım ilerle. Ben buna “sorudan sonuca gitme” diyorum. Bu mantık oturduğunda Pandas sadece araç olur, asıl güç sende olur.
Analiz Sonuçlarını Yorumlamak
Çıktıyı görmek yetmez. Yorumlamak gerekir. Mesela bir kategorinin geliri yüksek ama iade oranı da yüksekse, ürün kalitesi ya da beklenti yönetimi problemi olabilir. Veri sana işaret eder. Kararı yine sen verirsin.
Pandas’ta Yaygın Yapılan Hatalar
Veri Setini Tanımadan Analize Başlamak
En yaygın hata. head(), info(), describe() kullanmadan analize girersen, yanlış sonuç üretmen çok olası.
Kopya Veri Problemleri
Duplicate kayıtlar raporu şişirir. Kontrol etmek için:
df.duplicated().sum()
Gerekirse temizlemek için:
df = df.drop_duplicates()
Zincirleme Atama (SettingWithCopy) Tuzağı
Bu uyarıyı bir kez görüp korkan çok kişi var. Çözümü genelde basit: Filtrelediğin veriyi kopyalayarak çalışmak ya da .loc kullanmak. Ben alışkanlık olarak .loc kullanırım. Daha net olur.
Performans ve Büyük Veri Setleri
Pandas Ne Zaman Yavaşlar?
Veri milyonlarca satıra ulaştığında, bellek ve işlem maliyeti artar. Özellikle gereksiz kopya üretmek, yanlış tiplerle çalışmak yavaşlatır.
Bellek Kullanımına Dikkat Etmek
Basit ama etkili iki öneri:
- Sütun tiplerini doğru ayarla. Gereksiz “object” kullanma.
- Okurken sadece gerekli sütunları al.
Ben büyük CSV’lerde genelde sadece gereken sütunları okuyarak ciddi hız kazandım.
Alternatif Araçlara Ne Zaman Geçilmeli?
Pandas tek başına her şeyi çözmek zorunda değil. Veri çok büyüdüğünde farklı çözümler devreye girebilir. Ama yeni başlayan biri için önce Pandas’ı sağlam öğrenmek en iyi yatırım.
Pandas Öğrendikten Sonra Ne Gelir?
NumPy ile İlişkisi
Pandas birçok hesaplamada NumPy üzerine kuruludur. NumPy öğrenmek, Pandas’ta daha rahat hissettirir. Özellikle matris işlemleri ve performans tarafında.
Veri Görselleştirme Kütüphaneleri
Analizi anlattıran şey görselleştirmedir. Pandas, temel çizimler için destek verir. Sonrasında görselleştirme kütüphaneleriyle devam edebilirsin. Grafik, veriyi hikâyeye çevirir.
Data Science Yol Haritası
Benim önerdiğim basit sıra:
- Pandas temelleri
- Veri temizleme ve EDA alışkanlığı
- Görselleştirme
- Temel istatistik
- Modelleme tarafına giriş
Bu yol haritası gözünde büyümesin. Her gün küçük bir pratik bile çok şey değiştirir.
Sonuç – Veri Analizine Sağlam Bir Başlangıç
Pandas Mantığını Anlamak
Ezber yerine mantık. DataFrame nasıl düşünür, Series nasıl davranır. Bunu anladığında hızın artar. Python ile Veri Analizi: Pandas Kütüphanesine Giriş yazısının ana hedefi de bu zaten.
Pratik Yaptıkça Güçlenen Bir Araç
Pandas, pratikle açılır. İlk günlerde ufak hatalar yapacaksın. Normal. Ben hâlâ bazen aynı hataları yapıyorum. Önemli olan geri dönüp düzeltmek ve alışkanlık kazanmak.
Veriyle Düşünmeyi Öğrenmek
Veriyle düşünmek demek, iddiayı ölçmek demek. “Bence böyle” yerine “veri bunu gösteriyor” diyebilmek. Bu yaklaşım, ister geliştirici ol ister analist, seni bir üst seviyeye taşır.
Bu konuya sıfırdan başlıyorsan Python ile veri analizine giriş içeriği güzel bir tamamlayıcı olur. Eğer kurumsal eğitim, danışmanlık veya ekip içi atölye ihtiyacın varsa hizmetler sayfamıza göz atabilirsin. Topluluğu ve yaklaşımımızı daha yakından tanımak istersen hakkımızda bölümünü de bırakıyorum.
Pandas veri bilimi eğitimi yakınımda diye arıyorsan, Diyarbakır Yazılım Topluluğu ile bağ kurmak iyi bir başlangıç olabilir. Öğrenirken yalnız kalmamak çok şey değiştiriyor. Kaynaklara ulaşmak ve etkinlikleri görmek için Diyarbakır Yazılım Topluluğu sayfasına uğra: https://www.diyarbakiryazilim.org
Son bir not. Bu yazıda Python ile Veri Analizi: Pandas Kütüphanesine Giriş yaklaşımını temelden oturttuk. Şimdi yapman gereken tek şey var. Bir veri seti seç, oku, temizle, iki soru sor ve cevaplarını çıkar. Gerisi geliyor.
Sık Sorulan Sorular
Python ile veri analizi nedir ve Pandas bu süreçte neden önemlidir?
Python ile veri analizi, veriyi okuyup düzenleyerek anlamlı sonuçlar çıkarma sürecidir. Pandas bu süreçte hızlı okuma, temizleme, dönüştürme ve analiz fonksiyonları sunduğu için çok önemlidir.
Pandas kütüphanesi ile veri okuma ve temizleme nasıl yapılır?
CSV için read_csv, Excel için read_excel kullanılır. Eksik değerler isna ile bulunur, fillna veya dropna ile yönetilir. Kopya kayıtlar drop_duplicates ile temizlenir. Tip dönüşümleri astype ve to_datetime ile yapılır.
Pandas DataFrame ve Series arasındaki farklar nelerdir?
Series tek boyutludur ve genelde tek bir sütunu temsil eder. DataFrame iki boyutludur ve satır-sütun yapısında tablo verisini ifade eder.
Pandas kullanarak büyük veri setlerinde performans nasıl artırılır?
Gereksiz sütunları okumamak, doğru veri tiplerini kullanmak, mümkünse parça parça okuma yapmak, kopya üretmeyen işlemleri tercih etmek performansı artırır.
Pandas ile veri analizi eğitimi veya kursu yakınımda nerede bulunur?
Yerel eğitim, atölye ve topluluk etkinlikleri için Diyarbakır Yazılım Topluluğu iyi bir başlangıç olabilir. Etkinlik ve programlar için https://www.diyarbakiryazilim.org adresini ziyaret edebilirsin.