Data Science

Pandas DataFrame’lerini Endekslerine Göre Etkin Bir Şekilde Birleştirme

Spread the love

Pandas DataFrame’lerini İndekslerine Göre Etkin Bir Şekilde Birleştirme

Pandas, veri manipülasyonu için güçlü araçlar sunar ve DataFrame’leri birleştirmek yaygın bir işlemdir. DataFrame’leriniz ortak bir indekse sahip olduğunda, etkin bir birleştirme için bu ortak bilgiyi kullanmak önemlidir. Bu makale, tercih edilen teknik olarak join() yöntemine odaklanarak, Pandas DataFrame’lerini indekslerine göre birleştirmenin en iyi yaklaşımlarını ele almaktadır.

İçindekiler

İndeks Tabanlı Birleştirmeler için join() Yönteminin Kullanımı

join() yöntemi, özellikle indekslerine göre DataFrame’leri birleştirmek için tasarlanmıştır. İndeks tabanlı işlemler için merge() kullanmaya kıyasla daha temiz ve genellikle daha verimli bir çözüm sunar. Sezgisel sözdizimi, anlaşılmasını ve uygulanmasını kolaylaştırır.

İşte bir örnek:


import pandas as pd

# Örnek DataFrame'ler
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['X', 'Y', 'Z'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['Y', 'Z', 'X'])

# İndekslere göre DataFrame'leri birleştirme
joined_df = df1.join(df2, how='inner')  # 'inner', 'outer', 'left', 'right' geçerli seçeneklerin hepsidir.

print(joined_df)

Bu kod, df1 ve df2‘yi indekslerine göre birleştirir. how parametresi birleştirme türünü belirtir: 'inner' (yalnızca eşleşen indeksler), 'outer' (tüm indeksler), 'left' (df1‘den indeksler) veya 'right' (df2‘den indeksler). Varsayılan, sol birleştirmedir.

İndeks Tabanlı Birleştirmeler için merge()‘in Anlaşılması (Az Tercih Edilen)

Öncelikle sütun tabanlı birleştirmeler için tasarlanmış olsa da, merge() fonksiyonu indeks tabanlı birleştirmeleri de işleyebilir. Bununla birlikte, bu, kodu daha az okunabilir ve join()‘e kıyasla potansiyel olarak daha az verimli hale getiren left_index ve right_index parametrelerinin açıkça True olarak ayarlanmasını gerektirir.

merge() kullanarak aynı birleştirmeyi nasıl başaracağınız aşağıdadır:


import pandas as pd

# Örnek DataFrame'ler (yukarıdakilerle aynı)
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['X', 'Y', 'Z'])
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=['Y', 'Z', 'X'])


# merge() kullanarak indekslere göre DataFrame'leri birleştirme
merged_df = pd.merge(df1, df2, left_index=True, right_index=True, how='inner')

print(merged_df)

İhtiyaçlarınız İçin En İyi Yöntemi Seçme

Pandas’ta indeks tabanlı birleştirme için, join() yöntemi genellikle önerilir. Açık sözdizimi ve sıklıkla iyileştirilmiş verimliliği, çoğu senaryo için üstün bir seçim yapar. Sütun tabanlı birleştirmelerle birlikte indeks tabanlı birleştirmelere ihtiyaç duyduğunuzda veya belirli nedenlerle işlevselliğini tercih ettiğinizde yalnızca merge()‘i kullanın.

Bir yanıt yazın

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