Data Wrangling

Pandas DataFrame Hücre Değerlerine Etkin Erişimi

Spread the love

Pandas DataFrame’leri, Python’da veri manipülasyonu için olmazsa olmazdır. Bireysel hücre değerlerine verimli bir şekilde erişim, yaygın bir işlemdir. Bu makale, bu değerleri alma yöntemlerini inceleyerek, güçlü ve zayıf yönlerini vurgular.

İçerik Tablosu

Tam Sayı Tabanlı İndeksleme: iloc

.iloc, çok yönlü tam sayı tabanlı indeksleme sağlar. Hem satırlar hem de sütunlar için sıfır tabanlı indeksleme kullanır.


import pandas as pd

data = {'col1': [10, 20, 30], 'col2': [40, 50, 60]}
df = pd.DataFrame(data)

# 1. satır, 0. sütun (ikinci satır, ilk sütun) değerine erişim
value = df.iloc[1, 0]
print(f"iloc kullanılarak değer: {value}")  # Çıktı: 20

# 0. satır, 1. sütun (ilk satır, ikinci sütun) değerine erişim
value = df.iloc[0, 1]
print(f"iloc kullanılarak değer: {value}")  # Çıktı: 40

.iloc, özellikle büyük DataFrame’ler için verimlidir ve sayısal indeksler kullanarak hücre seçiminde hassas kontrol sunar.

Tek Hücre Erişimi için iat ve at

.iat ve .at özlü tek hücre erişimi sağlar. .iat tam sayı tabanlı indeksleme kullanırken, .at etiket tabanlı indeksleme (sütun adları) kullanır.


import pandas as pd

data = {'col1': [10, 20, 30], 'col2': [40, 50, 60]}
df = pd.DataFrame(data)

# iat kullanarak 1. satır, 0. sütundaki değeri al
value = df.iat[1, 0]
print(f"iat kullanılarak değer: {value}")  # Çıktı: 20

# at kullanarak 0. satır, 'col2' sütunundaki değeri al
value = df.at[0, 'col2']
print(f"at kullanılarak değer: {value}")  # Çıktı: 40

Bu yöntemler, bir Seri veya DataFrame değil, skaler bir değer döndürdükleri için .iloc‘tan daha hızlı tek hücre erişimi sağlar.

Sütun ve İndeks Üzerinden Erişim: df['col_name'].iloc[]

Bu yaklaşım, önce bir sütun seçer ve ardından bu sütunun altındaki NumPy dizisi içinde belirli bir satıra erişir. Önceki yöntemlerden daha az esnek ve verimlidir.


import pandas as pd

data = {'col1': [10, 20, 30], 'col2': [40, 50, 60]}
df = pd.DataFrame(data)

# 'col1' sütununun 1. satırdaki değerine erişim
value = df['col1'].iloc[1] # .values[]'den daha verimli
print(f"Sütun üzerinde iloc kullanılarak değer: {value}")  # Çıktı: 20

Bu yöntem kullanışlı görünse de, verimlilik ve açıklık için doğrudan seçilen sütun üzerinde .iloc kullanmak genellikle tercih edilir.

Özetle, .iloc, .iat ve .at, DataFrame hücrelerine erişmek için verimli ve okunabilir yollar sağlar. Seçilen sütunda .iloc kullanımı, .values[] kullanmaya göre genellikle tercih edilir. İhtiyaçlarınıza ve kodlama tarzınıza en uygun yöntemi seçin.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir