Python programlama dilinde temel kavramları, veri yapılarını, hata yakalama mekanizmalarını ve dosya işlemlerini öğrendikten sonra, gerçek dünyadaki büyük verilerle çalışmak için daha güçlü araçlara ihtiyaç duyarsınız. İşte bu noktada karşımıza Pandas kütüphanesi çıkar.
Tamamen yeni başlayanlara yönelik hazırladığımız bu kapsamlı rehberde, Python’un veri bilimi alanındaki en popüler araçlarından biri olan Pandas’ı, ne işe yaradığını, temel veri yapılarını ve veriler üzerinde nasıl analiz yapılacağını adım adım öğreneceksiniz.
1. Pandas Nedir ve Neden Kullanılır?
Pandas; temel olarak veri temizleme, veri işleme ve veri analizi işlemleri için kullanılan, yüksek performanslı ve açık kaynaklı bir Python kütüphanesidir. Adını çok boyutlu yapılandırılmış veri setlerini ifade eden “Panel Data” (Panel Verisi) teriminden almaktadır. Veri bilimiyle, yapay zekayla veya makine öğrenimiyle uğraşan herkes için ustalaşılması gereken temel kütüphanelerin başında gelir.
Daha önceki derslerimizde öğrendiğimiz Python listeleri veya sözlükleri küçük veriler için harikadır; ancak on binlerce satırlık bir tabloyu analiz etmeniz gerektiğinde Pandas devreye girer. Pandas’ın sunduğu başlıca avantajlar şunlardır:
- Daha az kod yazarak büyük veri setleri üzerinde hızlı veri modelleme ve analiz yapma imkânı sunar.
- Zaman serileri (time series) oluşturma, frekans dönüştürme ve verileri kaydırma işlemlerini veri kaybı yaşamadan yapmanızı sağlar.
- “Group-by” (gruplama) motoru sayesinde, verileri belirli kategorilere ayırarak toplu işlemler ve dönüşümler uygulayabilirsiniz.
- C veya Cython ile yazılmış kritik kod yolları ile çalışırken yüksek performans gösterir.
2. Pandas Kütüphanesini Projeye Dahil Etme
Pandas, Python’un yerleşik (standart) kütüphanelerinden biri değildir; bu yüzden kullanmadan önce projenize dışarıdan dahil etmeniz gerekir. Tıpkı daha önce “pip” aracını kullanmayı öğrendiğimiz gibi, komut satırınıza pip install pandas yazarak bu kütüphaneyi bilgisayarınıza kurabilirsiniz.
Kurulum tamamlandıktan sonra, kodumuzun en üstünde bu modülü içe aktarmalıyız. Python topluluğunda, Pandas kütüphanesi yazımı kısaltmak amacıyla genellikle pd kısaltması (alias) ile içe aktarılır.
import pandas as pd
3. Pandas’ın Temel Veri Yapıları: Series ve DataFrame
Pandas kütüphanesi, verileri organize etmek için iki ana veri yapısı (data structure) sunar: Series ve DataFrame.
A) Series (Seriler): Tek boyutlu, etiketli bir veri dizisidir. Excel’deki tek bir sütun gibi düşünebilirsiniz.
B) DataFrame (Veri Çerçeveleri): Satırlardan ve sütunlardan oluşan, Excel veya SQL tablolarına benzeyen iki boyutlu veri yapılarıdır. Bir DataFrame aslında yan yana gelmiş birden fazla Series nesnesinin birleşimidir ve en büyük avantajı, her sütunun birbirinden farklı veri tipleri (tam sayı, metin, ondalıklı sayı vb.) barındırabilmesidir (heterojen veri yapısı).
Örnek: Bir Sözlükten DataFrame Oluşturma Kendi Python sözlüğünüzü (dictionary) kullanarak hızlıca bir tablo oluşturabilirsiniz.
import pandas as pd
# Kolon isimleri ve verileri barındıran bir sözlük oluşturuyoruz
data = {
"İsim": ["Ahmet", "Ayşe", "Mehmet"],
"Yaş":,
"Şehir": ["İstanbul", "Ankara", "İzmir"]
}
# pd.DataFrame() fonksiyonu sözlüğü tabloya dönüştürür
df = pd.DataFrame(data)
# Tabloyu ekranda gösterelim
print(df)
Bu kod çalıştırıldığında, satır numaralarının (indekslerin) 0, 1 ve 2 olarak otomatik atandığı, harika görünümlü iki boyutlu bir tablo elde edersiniz. DataFrame nesnelerini, içi içe listelerden (nested lists) yararlanarak da aynı kolaylıkla oluşturabilirsiniz.
4. Dış Kaynaklardan Veri Okuma
Gerçek dünyada veriler genellikle Python kodunun içine manuel olarak yazılmaz; Excel, CSV veya SQL gibi dosyalarda hazır bulunur. Pandas, bu çeşitli formatlardaki verileri tek bir komutla belleğe (DataFrame’e) aktarmak için muazzam araçlara sahiptir.
- CSV Dosyası Okuma: Virgülle ayrılmış değerleri içeren dosyaları okumak için
read_csv()fonksiyonu kullanılır.df = pd.read_csv("veriler.csv") print(df.to_string()) - Excel Dosyası Okuma:
.xlsxuzantılı elektronik tabloları okumak içinread_excel()komutu kullanılır.df = pd.read_excel("satis_raporu.xlsx")
5. Veri Keşfi ve Analizi (Exploratory Data Analysis – EDA)
Devasa bir veri setini içe aktardıktan sonra ilk yapmanız gereken şey, veriyi tanımak ve keşfetmektir (Exploratory Data Analysis). Pandas, verinizin yapısını incelemeniz için çok pratik metotlar sunar:
df.head(n): Veri setinizin en üstündeki ilk ‘n’ satırı getirir. Sayı belirtilmezse varsayılan olarak ilk 5 satırı gösterir.df.tail(n): Veri setinin en sonundaki ‘n’ satırı getirir. Verilerin nasıl sonlandığını görmek için idealdir.df.info(): Veri setinin yapısal bir özetini verir. Sütun isimleri, her bir sütundaki veri tipleri (Dtype), null (boş) olmayan veri sayısı ve bellek kullanım miktarı gibi çok değerli teknik detayları listeler.df.describe(): Sayısal veri tiplerine sahip sütunların istatistiksel özetini otomatik olarak çıkarır. Bu komut tek hamlede veri setindeki satır sayısını (count), ortalamayı (mean), standart sapmayı (std), minimum ve maksimum değerleri ve çeyreklik dilimleri (%25, %50, %75) hesaplar.df.value_counts(): Belirli bir sütunda hangi eşsiz (unique) değerden tam olarak kaç tane geçtiğini sayar ve çoktan aza doğru sıralar.df.unique(): Bir sütundaki birbirini tekrar etmeyen, eşsiz verilerin bir dizisini (array) verir.
6. Veri Seçimi ve İndeksleme (Slicing & Indexing)
Tüm tablo yerine sadece belirli satırları veya sütunları seçmeniz gerekebilir. Bu işlem Pandas’ta loc[] ve iloc[] metotları ile yapılır:
- Etiket Tabanlı İndeksleme (
loc[]): Satır ve sütunların “isimlerini” veya “etiketlerini” kullanarak arama yapar. Örnek:df.loc[0:5, "Yaş"]komutu, ilk 5 satırın sadece “Yaş” sütununu getirir. - Tam Sayı Tabanlı İndeksleme (
iloc[]): Sütun ismine bakmaksızın, tamamen arka plandaki sayısal indeksleri (0, 1, 2…) baz alır. Örnek:df.ilockomutu 2. satır ile 1. sütunun kesişimindeki nokta atışı değeri getirir.
Eğer şarta bağlı bir filtreleme yapmak isterseniz, standart karşılaştırma operatörlerini kullanabilirsiniz. Örneğin df[df['Yaş'] > 25] kodu, tablodaki sadece 25 yaşından büyük kişilerin olduğu satırları listeleyecektir.
7. Kirli Verileri Temizleme ve Eksik Değerleri Yönetme
Gerçek dünyadaki veri setleri asla kusursuz değildir. Bazı hücreler boş bırakılmış veya yanlış formatta girilmiş olabilir. Bu “Null” (boş/eksik) değerleri bulmak ve düzeltmek veri bilimcinin en büyük görevlerindendir. Pandas bu süreçte hayat kurtarır:
df.isnull(): Tablodaki her bir veri hücresinin boş olup olmadığını kontrol eder ve sonucunu True/False (Mantıksal) olarak döndürür.df.fillna(deger): Tabloda boş (Null) olarak tespit edilen hücreleri, parantez içine yazdığınız belirli bir değerle (örneğin sıfırla veya sütunun ortalamasıyla) doldurarak hatayı telafi eder.df.dropna(): İçerisinde en az bir tane bile boş (Null) veri barındıran tüm satırları tablodan acımasızca siler. Temiz bir analiz istendiğinde sıkça başvurulur.
Sonuç: Python ve Pandas kütüphanesi, ham ve karmaşık verileri alıp, bunlardan anlamlı, analiz edilebilir iş içgörüleri çıkarmak için dünyadaki en popüler ve etkili çözümdür. pd.read_csv ile binlerce satırlık dosyaları saniyeler içinde okumayı, describe() ile devasa tabloların istatistiksel özetini tek satırda çıkarmayı ve loc[] / iloc[] komutlarıyla veriler arasında gezinmeyi öğrendiniz. Kendi Python geliştirme ortamınızı veya bir web tarayıcısı üzerinden çalışan bulut tabanlı bir Jupyter Notebook ortamı olan Google Colaboratory’yi kullanarak, halka açık Excel veya CSV dosyaları (örneğin Kaggle verisetleri) indirerek Pandas kütüphanesinin gücünü bol bol pratik edebilirsiniz!






