Python’da loc ve iloc Arasındaki Farklar

Giriş: loc ve iloc Nedir?

Python, veri analizi ve manipülasyonu için güçlü bir kütüphane olan Pandas ile birlikte gelir. Pandas, verilerle çalışmayı kolaylaştıran birçok fonksiyonalite sunar ve bu fonksiyonlar arasında en sık kullanılanlarından ikisi loc ve iloc‘dir. Her iki fonksiyon da veri çerçevelerindeki (DataFrame) satır ve sütunlara erişim sağlar, fakat bu erişim yöntemleri farklılık gösterir.

Bu yazıda, loc ve iloc işlevlerinin ne olduğunu, nasıl kullanıldıklarını ve aralarındaki temel farkları detaylı bir şekilde inceleyeceğiz. Amaç, Python kullanıcılarının veri manipülasyonunu daha etkin bir şekilde yapmasına yardımcı olmak ve karmaşık bir konuyu daha anlaşılır kılmaktır.

Gelelim loc ve iloc’un genel tanımına. loc, etiket adı ile veri seçimi yaparken, iloc ise tamsayı indisi kullanarak verileri seçer. Bu, her iki yöntem arasındaki en belirgin ve önemli farktır; her biri farklı durumlar ve ihtiyaçlar için idealdir.

loc Kullanımı

loc, etiketlere dayalı veri seçiminde kullanılır. Yani, veri çerçevesindeki satır ve sütun isimlerini kullanarak verileri alırız. Bu, veri çerçevesinde belirli bir etiket aramak istediğimizde hızlı ve etkilidir. Örneğin, bir veri çerçevesinde yaş bilgilerini içeren bir sütunu seçmek istiyorsak, loc ile doğrudan bu sütunun etiketini kullanabiliriz.

loc kullanırken, aşağıdaki gibi bir DataFrame düşünelim:

import pandas as pd

data = {
    'Ad': ['Ali', 'Ayşe', 'Mehmet'],
    'Yaş': [25, 30, 22],
    'Şehir': ['İstanbul', 'Ankara', 'İzmir']
}
df = pd.DataFrame(data, index=['Kişi1', 'Kişi2', 'Kişi3'])

Yukarıdaki veri çerçevesine erişmek için loc kullanımımız şöyle olabilir:

print(df.loc['Kişi1'])

Bu komut, ‘Kişi1’ indexine sahip satırı döndürecektir. loc’un sunduğu bir diğer özellik de belirli bir sütunu seçmektir. Örneğin, yaş sütununu almak için:

print(df.loc[:, 'Yaş'])

Bu, tüm satırlardaki Yaş bilgilerini döndürecektir. Aynı zamanda loc ile birden fazla satır ya da sütun seçmek de mümkündür.

iloc Kullanımı

iloc ise tamamıyla tamsayı bazında erişimi destekler. Verilere erişirken satır ve sütun indeks numaralarını kullanır. Eğer veri çerçevenizin satır ve sütun isimleri bilinmiyorsa ya da indeks numaralarına dayalı bir seçim yapmak istiyorsanız, iloc bu durumda daha uygun bir yöntemdir.

Örneğin, yukarıdaki DataFrame’den ilk satırı almak için iloc kullanımı:

print(df.iloc[0])

Bu komut, ilk satır olan ‘Kişi1’‘in bilgilerini döndürecektir. Ayrıca, iloc ile belirli bir sütunu almak için de benzer şekilde:

print(df.iloc[:, 1])

Bu, tüm satırlardaki ikinci sütun olan ‘Yaş’ değerlerini döndürecektir. Dolayısıyla, iloc ile esnek ve hızlı erişim sağlamak oldukça basit.

Loc ve iloc Arasındaki Temel Farklar

Peki, loc ve iloc arasındaki esas farklar nelerdir? İlk ve en belirgin fark, loc’un etiketler ile çalışması, iloc’un ise indeks numaraları ile çalışmasıdır. Bu yüzden, verilerinizi tanımlarken hangi yöntemi kullanmanız gerektiğine karar verirken dikkatli olmalısınız. Eğer veri çerçevenizin indeksini veya sütun etiketlerini biliyorsanız, loc kullanmak daha mantıklıdır. Ancak, eğer sadece indeks numaralarını takip etmek istiyorsanız, iloc’u tercih edebilirsiniz.

Bir diğer önemli fark ise dilimleme (slicing) yöntemleridir. loc ile dilimleme yaparken, belirtilen aralıktaki son etiket de dahil edilirken, iloc’da son belirtilen indeks dışarıda kalır. Bu durum, verilerinizi alırken beklenmedik sonuçlarla karşılaşmanıza sebep olabilir. Örneğin:

print(df.loc['Kişi1':'Kişi2'])

Bu komut, hem ‘Kişi1’ hem de ‘Kişi2’ indexini döndürecektir. Ancak:

print(df.iloc[0:2])

Bu durumda sadece ‘Kişi1’ ve ‘Kişi2’ indexine sahip satırlar döner, ‘Kişi3’ dışarıda kalır.

Hangi Durumda Hangi Yöntemi Kullanmalısınız?

loc ve iloc’un her ikisi de veri analizi yaparken verimli ve hızlı yöntemlerdir. Bununla birlikte, hangi durumu ne zaman kullanmanız gerektiğini bilmek, Python’daki çalışmanızı kolaylaştıracaktır. Genellikle, eğer veri çerçevesindeki satır ve sütun isimleri ile çalışıyorsanız, loc daha avantajlıdır. Belirli bir etikete ulaşmak için doğrudan ad kullanmak, kodunuzu daha okunabilir ve anlaşılır hale getirir.

Öte yandan, eğer veri çerçevenizdeki etiketler karmaşık veya belirsizse ya da sadece bir dizi indeks numarasına göre işlem yapıyorsanız, iloc daha uygun bir seçimdir. Özellikle büyük veri setleri üzerinde çalışırken, indislere bağlı kalmak daha hızlı sonuçlar elde etmenizi sağlayabilir.

Sonuç olarak, loc ve iloc arasındaki bu temel farkları anlamak, Python’da veri analizi ve manipülasyonu yaparken size büyük kolaylık sağlayacaktır. Python kullanıcıları, verileri nasıl temsil ettiklerini anlamalı ve uygun yöntemleri kullanarak daha verimli kod yazma becerilerini geliştirmelidirler.

Özet

Python’da loc ve iloc, veri çerçevelerine erişim sağlamak için iki önemli işlevdir. loc, etiket isimlerine göre seçim yaparken, iloc, indeks numaralarına dayalı seçim yapmamıza olanak tanır. Aralarındaki dilimleme özellikleri ve kullanım durumları, doğru yöntemlerin seçilmesine katkı sağlar. Bu yazıda, her iki yöntemin kullanımları, aralarındaki temel farklar ve hangilerinin hangi durumlarda tercih edilmesi gerektiği hakkında bilgiler verdik.

Python ile veri analizi yaparken bu iki yöntemi etkin bir şekilde kullanma konusunda kendinizi geliştirebilir, veri projelerinizdeki verimliliği artırabilirsiniz. Unutmayın, doğru araçları kullanmak projenizin başarısını artıracaktır. Şimdi, kendi projelerinizde loc ve iloc ile deneyler yapmanın tam zamanı!

Scroll to Top