Python programlama dili, veri analizi alanında oldukça popüler bir araçtır ve bu popülaritenin temel nedenlerinden biri de Pandas kütüphanesidir. Pandas, veri manipülasyonu ve analizi için güçlü bir araç seti sunar; bu araçlardan biri de DataFrame nesnesidir. DataFrame, iki boyutlu, etiketli bir veri yapısıdır ve satır ve sütunlara göre verileri kolayca düzenlemenize olanak tanır. Bu yazıda, Python ile DataFrame’leri dilimleme (slicing) yöntemlerini adım adım inceleyeceğiz.
Pandas ile DataFrame Oluşturma
Python’da DataFrame dilimlemeden önce, önce Pandas kütüphanesini içe aktarıp bir DataFrame veri yapısı oluşturmamız gerekecek. Pandas’ın kurulumu oldukça basit. Eğer Pandas kütüphanesini henüz yüklemediyseniz, aşağıdaki komut ile yüklemenizi öneririm:
pip install pandas
Kütüphaneyi yükledikten sonra, örnek bir DataFrame oluşturacağız:
import pandas as pd
# Örnek veri oluşturma
data = {
'İsim': ['Ali', 'Ayşe', 'Mehmet', 'Fatma'],
'Yaş': [25, 30, 22, 28],
'Şehir': ['İstanbul', 'Ankara', 'İzmir', 'Antalya']
}
df = pd.DataFrame(data)
print(df)
Yukarıdaki kod örneği, üç sütundan oluşan örnek bir DataFrame oluşturmaktadır. Bu DataFrame, bazı kişilerin isimleri, yaşları ve yaşadıkları şehirleri içermektedir. Artık dilimleme işlemlerine geçebiliriz.
DataFrame Dilimleme Yöntemleri
DataFrame’leri dilimlemek, verilerin belirli bir alt kümesini almak anlamına gelir. Pandas kütüphanesi, bu tür işlemler için çeşitli yöntemler sunmaktadır. En yaygın yöntemler arasında iloc, loc ve direkt dilimleme ile erişim yer alır.
1. iloc ile Dilimleme
iloc, pozisyona dayalı bir dilimleme yöntemidir. Verilere satır ve sütun indeksleri ile doğrudan erişim sağlar. Örneğin, ilk iki satırı ve ilk iki sütunu almak için:
ilk_iki_satir = df.iloc[:2, :2]
print(ilk_iki_satir)
Yukarıdaki kod, DataFrame’in yalnızca ilk iki satırını ve ilk iki sütununu alır. iloc ile dilimleme yaparken dikkat edilmesi gereken nokta, dilime alınan son sınırın dahil edilmediğidir.
2. loc ile Dilimleme
loc, etiketlere dayalı bir dilimleme yöntemidir. Yani, satır ve sütun isimlerini kullanarak verilere erişim sağlar. Örneğin, ‘Ali’ ve ‘Ayşe’ isimli kişilerin yaşlarını almak için:
yaslar = df.loc[0:1, 'Yaş']
print(yaslar)
Bu kod, ‘İsim’ sütununda ‘Ali’ ve ‘Ayşe’ isimlerine karşılık gelen yaş bilgilerini getirir. loc ile dilimleme yaparken, başlangıç ve bitiş noktaları dahil edildiği unutulmamalıdır.
3. Doğrudan Dilimleme ile Erişim
Pandas, doğal dilimleme yöntemleri de desteklemektedir. DataFrame’i doğrudan dilimlemek için aşağıdaki gibi bir yapıyı kullanabilirsiniz:
direct_slice = df[1:3]
print(direct_slice)
Bu kod, 1. ve 2. indekslerdeki satırları alır. Bu yöntemde de, dilimleme yapılan son indeks alınmaz. Yani 1 ile 3 arasındaki satırlar alınır.
Koşul Bazlı Dilimleme
Pandas ile koşul bazlı dilimleme yaparak, belirli bir koşulu sağlayan satırları kolayca almak mümkündür. Örneğin, yaşı 25’ten büyük olan kişileri nasıl alırız?
yas_25_ustu = df[df['Yaş'] > 25]
print(yas_25_ustu)
Yukarıdaki kod, ‘Yaş’ sütununda 25’ten büyük olan tüm satırları alır. Bu tür koşul bazlı dilimleme, özellikle veri analizi sırasında oldukça faydalıdır.
Index Resetleme ve Dilimleme Sonrası İşlemler
Dilimleme sonrası DataFrame’in indeks yapısı değişebilir ve bu durumda indeksin sıfırlanması gerekebilir. Pandas, bu işlemi yapmak için reset_index() fonksiyonunu sunar:
reset_index_df = yas_25_ustu.reset_index(drop=True)
print(reset_index_df)
reset_index(drop=True) fonksiyonu, mevcut indeksi sıfırlayarak yeni bir sıralama oluşturur. drop=True parametresi ise eski indeksin DataFrame içinde tutulmasını engeller.
Yüksek Boyutlu Dilimleme ile Veri Analizi
Birden fazla koşul veya birden fazla sütuna göre dilimleme yapmak, çok boyutlu veri analizi yapmamıza olanak tanır. Örneğin, yaşları 25’ten büyük ve İstanbul’da yaşayan kişileri alalım:
kriterli_dilim = df[(df['Yaş'] > 25) & (df['Şehir'] == 'İstanbul')]
print(kriterli_dilim)
Bu koşul ile birlikte iki farklı filtre uygulamış olduk. Pandas ile bu tür çok boyutlu dilimleme işlemleri, veri analizi esnasında oldukça yarar sağlar.
Sonuç
Pandas kütüphanesi ile DataFrame dilimleme teknikleri, veri analizi ve manipülasyonu açısından kritik bir öneme sahiptir. iloc, loc ve doğrudan dilimleme gibi yöntemler, veri kümeniz üzerinde hızlı ve etkili bir şekilde çalışmalar yapmanızı sağlar. Ayrıca, koşul bazlı dilimleme ve reset_index() gibi fonksiyonlar ile verilerinizle daha etkili bir şekilde çalışabilirsiniz.
Elde ettiğiniz bilgiler doğrultusunda, kendi projelerinizde bu yöntemleri uygulamayı deneyebilirsiniz. Unutulmamalıdır ki, her türlü kod yazımında pratik yapmak, gelişiminizin en önemli anahtarıdır. Bu yüzden, öğrendiklerinizi uygulayarak pekiştirmeyi unutmayın.
Pandas ile DataFrame dilimleme üzerine daha fazla bilgi edinmek ve projelerinizi geliştirmek için resmi Pandas dokümantasyonuna göz atmayı ihmal etmeyin. Her zaman meraklı kalın ve programlama dünyasında keşfetmeyi sürdürün!