Veri biliminin kalbinde, verileri etkili bir şekilde manipüle etmek ve analiz etmek yatar. Python’daki DataFrame yapısı, bu amaç için vazgeçilmez bir araçtır. DataFrame satırlarında gezinme, verilerinizden anlamlı bilgiler çıkarmak için kritik bir beceridir. Bu makale, DataFrame satırlarını ustalıkla nasıl keşfedeceğinizi ve verilerinizin derinliklerine ineceğinizi adım adım açıklayacaktır. Farklı yöntemleri, pratik örneklerle ve ipuçlarıyla ele alarak, veri analiz yolculuğunuzda size rehberlik edeceğiz. Hazır mısınız? Verilerinizin gizli kalmış hikayelerini ortaya çıkarmaya başlayalım!
DataFrame Satırlarında Gezinmenin Temelleri

Satır Numaraları ile Erişim
DataFrame satırlarına erişmenin en temel yolu, satır numaralarını kullanmaktır. .iloc
indeksleyici, tam sayı tabanlı indeksleme sağlar. 0’dan başlayarak, her satıra bir numara atanır. Böylece, belirli bir satıra doğrudan erişebilirsiniz.
Örneğin, df.iloc[0]
, ilk satırı döndürürken, df.iloc[5]
altıncı satırı getirir. Bu yöntem, belirli satırlara hızlı erişim sağlar.
Unutmayın, .iloc
indeksleyici, satır numaralarını tamsayı olarak bekler. Ondalık sayılar veya diğer veri tipleri kullanırsanız, bir hata alırsınız.
Dilimleme ile Birden Fazla Satıra Erişim
DataFrame‘in belirli bir bölümünü incelemek istediğinizde dilimleme kullanışlıdır. .iloc
indeksleyici ile birlikte dilimleme operatörünü (:
) kullanarak, bir dizi satırı seçebilirsiniz.
Örneğin, df.iloc[2:5]
, ikinci, üçüncü ve dördüncü satırları içeren bir DataFrame döndürür. Dilimleme, belirli bir aralıktaki satırları analiz etmek için etkili bir yöntemdir.
Dilimleme işleminde başlangıç ve bitiş indekslerini belirleyebilirsiniz. Bitiş indeksi dahil değildir.
Koşullu Seçim ile Satırları Filtreleme
Veri analizinde sıklıkla belirli koşulları karşılayan satırları seçmeniz gerekir. Koşullu seçim, bu işlemi gerçekleştirmenin güçlü bir yoludur.
Bir veya daha fazla koşul belirleyerek, DataFrame‘i filtreleyebilir ve yalnızca istediğiniz satırları içeren yeni bir DataFrame oluşturabilirsiniz. Bu, verilerinizin belirli alt kümelerini analiz etmenizi sağlar.
Koşullu seçim, karmaşık filtreleme işlemleri için boolean indeksleme ile birleştirilebilir.
İterasyon ile Satırları Tek Tek İşleme
.iterrows() Metodu
.iterrows()
metodu, DataFrame‘in her satırını tek tek işlemenizi sağlar. Bu yöntem, her satırı bir Series nesnesi olarak döndürür.
Satır indeksine ve satır verilerine erişerek, her satır üzerinde istediğiniz işlemleri gerçekleştirebilirsiniz. Bu, satır bazlı hesaplamalar veya dönüşümler için kullanışlıdır.
.iterrows()
metodu, büyük DataFrame‘ler için performans açısından en verimli yöntem olmayabilir. Alternatif yöntemler, daha büyük veri kümeleri için daha uygun olabilir.
.apply() Metodu ile Satırlara Fonksiyon Uygulama
.apply()
metodu, DataFrame‘in satırlarına veya sütunlarına bir fonksiyon uygulamanızı sağlar. Bu, özelleştirilmiş işlemler gerçekleştirmek için esnek bir yöntemdir.
Bir fonksiyon tanımlayarak ve .apply()
metodunu kullanarak, her satıra bu fonksiyonu uygulayabilirsiniz. Bu, karmaşık veri dönüşümleri veya analizleri için kullanışlıdır.
.apply()
metodu, axis
parametresi ile satırlara veya sütunlara uygulanabilir.
.itertuples() Metodu ile Verimli İterasyon
.itertuples()
metodu, .iterrows()
metoduna göre daha performanslı bir iterasyon yöntemi sunar. Bu yöntem, her satırı adlandırılmış bir tuple olarak döndürür.
Adlandırılmış tuple’lar, satır verilerine erişimi kolaylaştırır ve performansı artırır. Büyük DataFrame‘ler için .itertuples()
metodu tercih edilmelidir.
.itertuples()
metodu, bellek kullanımını optimize eder ve daha hızlı iterasyon sağlar.
Performans Optimizasyonu için İpuçları
Vektörize İşlemler
DataFrame işlemlerinde performansı artırmak için vektörize işlemler kullanın. Vektörize işlemler, döngüler yerine NumPy dizileri üzerinde çalışır ve daha hızlı hesaplamalar sağlar.
Döngülerden kaçınarak ve vektörize işlemler kullanarak, kodunuzun performansını önemli ölçüde artırabilirsiniz. NumPy, DataFrame işlemleri için optimize edilmiş bir kütüphanedir.
Vektörize işlemler, özellikle büyük veri kümeleri için önemli performans iyileştirmeleri sağlar.
Doğru Veri Tipleri
DataFrame‘inizdeki verilerin doğru veri tiplerinde olduğundan emin olun. Yanlış veri tipleri, performans sorunlarına neden olabilir.
Veri tiplerini optimize ederek, bellek kullanımını azaltabilir ve hesaplamaları hızlandırabilirsiniz. Örneğin, kategorik veriler için category
veri tipini kullanmak performansı artırabilir.
Doğru veri tipleri, DataFrame işlemlerinin verimliliğini artırır.
.loc[] İndeksleyici
Eğer etiket bazlı indeksleme yapacaksanız `.loc[]` indeksleyiciyi kullanın. Bu, özellikle karmaşık sorgular ve çoklu koşullu filtrelemelerde daha okunaklı ve anlaşılır bir kod yapısı sağlar. `.loc[]` indeksleyici, hem satır hem de sütun etiketlerini kullanarak veriye erişmenizi sağlar.
`.loc[]` indeksleyici, boolean dizileri kullanarak da filtreleme yapmanıza olanak tanır. Bu, belirli koşulları sağlayan satırları seçmek için güçlü bir yöntemdir.
`.loc[]` indeksleyici ile dilimleme işlemleri de yapabilirsiniz. Bu, belirli bir aralıktaki satır ve sütunlara erişmek için kullanışlıdır.
DataFrame Satırlarını Anlamak İçin Ek Yöntemler
head() ve tail() Metodları
head()
ve tail()
metodları, DataFrame‘in ilk veya son birkaç satırını hızlıca görüntülemenizi sağlar. Bu, veri yapısını ve içeriğini anlamak için kullanışlıdır.
head()
varsayılan olarak ilk 5 satırı gösterirken, tail()
son 5 satırı gösterir. İsteğe bağlı olarak, görüntülenecek satır sayısını belirtebilirsiniz.
Bu metodlar, veri keşfi ve hızlı inceleme için pratik araçlardır.
sample() Metodu
sample()
metodu, DataFrame‘den rastgele satırlar seçmenizi sağlar. Bu, veri örüntülerini anlamak veya veri kümesini temsil eden bir alt küme oluşturmak için kullanışlıdır.
Seçilecek satır sayısını veya oranını belirtebilirsiniz. Ayrıca, tekrarlı örnekleme yapıp yapmayacağınızı da kontrol edebilirsiniz.
sample()
metodu, veri analizi ve modelleme için rastgele veri alt kümeleri oluşturmayı kolaylaştırır.
nlargest() ve nsmallest() Metodları
nlargest()
ve