Data Analysis

Pandas’ta Ustalaşma: DataFrame’lerde Sütunları Etkin Bir Şekilde İndeks Olarak Atama

Spread the love

Pandas DataFrame’leri, Python’da veri manipülasyonunun temel taşlarından biridir. Sıklıkla, her satır için benzersiz bir tanımlayıcı görevi gören bir veya daha fazla sütunu indeks olarak belirtmeniz gerekir. Bu, veri erişim hızını önemli ölçüde artırır ve çeşitli işlemleri basitleştirir. Bu makale, bunu başarmak için iki temel yöntemi ayrıntılarıyla açıklamaktadır.

İçindekiler

Yöntem 1: set_index() Fonksiyonunun Kullanımı

set_index() fonksiyonu, DataFrame sütunlarını indeks olarak ayarlamak için en çok yönlü yaklaşımı sağlar. Tek veya çoklu sütun indekslerine izin verir ve yinelenen indeks girdilerini yönetme seçenekleri sunar.


import pandas as pd

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 22, 28],
        'City': ['New York', 'London', 'Paris', 'Tokyo']}

df = pd.DataFrame(data)
print("Orijinal DataFrame:n", df)

# 'Name' sütununu indeks olarak ayarla
df_indexed = df.set_index('Name')
print("n'Name' indeksi olan DataFrame:n", df_indexed)

# Birden fazla sütunu indeks olarak ayarla
df_multi_indexed = df.set_index(['Name', 'City'])
print("n'Name' ve 'City' çoklu indeksi olan DataFrame:n", df_multi_indexed)

# Yinelenen indeks değerlerini ele alma (errors='ignore' kullanarak)
df_duplicates = pd.DataFrame({'A': [1, 2, 1], 'B': [4, 5, 6]})
df_duplicates_indexed = df_duplicates.set_index('A', verify_integrity=False) 
print("nYinelenen indeks değerleri olan DataFrame (hata yok sayıldı):n", df_duplicates_indexed)

Bu örnek, tek ve çoklu sütun indekslerinin ayarlanmasını ve yinelenen indeks değerleri için hata işlemesini göstermektedir. verify_integrity=False yinelenenlere izin verse de, bunlar sonraki işlemlerde komplikasyonlara neden olabilir, bu nedenle dikkatli bir değerlendirme önerilir.

Yöntem 2: Dosya İçe Aktarımı Sırasında index_col Parametresinin Kullanımı

Dosyalardan (CSV, Excel, vb.) veri içe aktarırken, pd.read_csv() ve pd.read_excel() gibi fonksiyonlardaki index_col parametresi, içe aktarma sırasında indeks sütununu(sütunlarını) doğrudan ayarlar. Bu, tüm veri kümesini içe aktarmadan ve ardından indeksi ayarlamadan çok daha verimlidir.


import pandas as pd

# 'Name'i indeks sütunu olarak kullanarak CSV dosyası okuma
df_from_csv = pd.read_csv('data.csv', index_col='Name') # 'data.csv' dosyasının mevcut olduğunu varsayar
print("n'Name' indeksiyle CSV'den okunan DataFrame:n", df_from_csv)

# Birden fazla indeks sütunuyla okuma
df_multi_from_csv = pd.read_csv('data.csv', index_col=['Name', 'City']) # 'data.csv' dosyasının mevcut olduğunu varsayar
print("n'Name' ve 'City' indeksleriyle CSV'den okunan DataFrame:n", df_multi_from_csv)

'data.csv' öğesini gerçek dosya yolunuzla değiştirmeyi unutmayın. Bu yöntem, özellikle büyük veri kümeleri için, gereksiz içe aktarma sonrası işlemleri en aza indirerek oldukça faydalıdır.

Sonuç

Pandas DataFrame’lerinde sütunları indeks olarak ayarlamak, verimli veri manipülasyonu için çok önemlidir. Hem set_index() hem de index_col parametresi etkili yaklaşımlar sunar. İş akışınıza ve veri boyutunuza en uygun yöntemi seçin. Olası indeks yinelenenlerinin her zaman farkında olun ve bunları uygun şekilde ele alın.

SSS

  • S: Benzersiz olmayan bir sütunu indeks olarak ayarlamayı denersem ne olur?
    Y: set_index() içinde verify_integrity=False veya errors='ignore' kullanılmadığı sürece bir ValueError hatası oluşturulur. Ancak, gelecekteki sorunları önlemek için yinelenenleri önceden ele almak önerilir.
  • S: İndeksi sayısal bir indekse nasıl sıfırlarım?
    Y: reset_index() fonksiyonunu kullanın. Bu, geçerli indeksi yeni bir sütuna taşır ve varsayılan bir sayısal indeks oluşturur.
  • S: Bir sütunu indeks olarak kullanmanın avantajları nelerdir?
    Y: Anlamlı bir sütunu indeks olarak kullanmak, veri seçim ve filtreleme hızını önemli ölçüde iyileştirir ve veri düzenlemeyi ve okunabilirliği artırır.

Bir yanıt yazın

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