Python DataFrame’ları Birleştirme Yöntemleri

Pandas, Python’da veri analizi için en popüler kütüphanelerden biridir. Veri analizi sürecinin temel adımlarından biri, farklı DataFrame’leri birleştirerek yeni bilgiler elde etmektir. DataFrame’leri birleştirmenin birçok yolu bulunmakta ve bu yöntemler, veri setlerinin yapısına ve ihtiyaçlara göre farklılık gösterebilir. Bu yazıda, Pandas kütüphanesini kullanarak DataFrame’leri nasıl birleştireceğinizi öğreneceksiniz.

DataFrame’leri Birleştirme Yöntemleri

Veri çerçevelerini birleştirmenin temel iki yöntemi vardır: concat ve merge. Bu iki yöntem, veri setlerini farklı şekillerde birleştirmenize olanak tanır. concat yöntemi, DataFrame’leri üst üste veya yan yana dizerek birleştirirken, merge yöntemi SQL’deki join işlemlerine benzer şekilde çalışır ve belirli anahtarlar üzerinden veri çerçevelerini birleştirir.

Bu yöntemleri kullanmadan önce, Pandas kütüphanesini yüklemeniz ve veri çerçevelerinizi tanımlamanız gerekiyor. Örneğin, aşağıda iki örnek DataFrame’i görebilirsiniz:

import pandas as pd

# İlk DataFrame
df1 = pd.DataFrame({
    'A': ['A0', 'A1', 'A2'],
    'B': ['B0', 'B1', 'B2']
})

# İkinci DataFrame
df2 = pd.DataFrame({
    'C': ['C0', 'C1', 'C2'],
    'D': ['D0', 'D1', 'D2']
})

concat ile DataFrame’leri Birleştirmek

concat yöntemi, farklı DataFrame’leri bir araya getirmenin basit bir yolunu sunar. Bu yöntem, verilen DataFrame’leri belirli bir eksen boyunca birleştirir. Örneğin, iki DataFrame’i satırlar boyunca birleştirmek için aşağıdaki gibi bir kullanım gerçekleştirebiliriz:

result = pd.concat([df1, df2], axis=0)

Yukarıdaki örnekte, axis=0 parametresi ile satırları birleştiriyoruz. Eğer sütunlar boyunca birleştirmek isterseniz, axis=1 kullanabilirsiniz:

result_columns = pd.concat([df1, df2], axis=1)

concat yöntemi, birleştirme sırasında veri kaybını önlemek için ignore_index parametresini de alır. Bu parametre kullanıldığında indeks sıfırdan başlayarak yeniden oluşturulur:

result = pd.concat([df1, df2], ignore_index=True)

merge ile DataFrame’leri Birleştirmek

merge yöntemi, iki DataFrame’i belirli anahtar sütunlarına göre birleştirir. Bu yöntem, SQL join işlemlerine benzer bir yapı sunar. merge işlemi için her iki DataFrame’de de ortak olan bir sütun belirtmeniz yeterlidir. Aşağıdaki örnekte ‘key’ adında iki DataFrame oluşturuyoruz ve bunları merge ederek birleştiriyoruz:

df1 = pd.DataFrame({
    'key': ['K0', 'K1', 'K2'],
    'A': ['A0', 'A1', 'A2']
})

df2 = pd.DataFrame({
    'key': ['K0', 'K1', 'K2'],
    'B': ['B0', 'B1', 'B2']
})

result = pd.merge(df1, df2, on='key')

Yukarıdaki örnekte on='key' ile hangi sütunun birleştirme anahtarı olacağı belirtilmiştir. Bunun dışında how parametresi ile birleştirmenin türünü belirten seçenekler de mevcut: inner, outer, left ve right. Örneğin, how='outer' kullanarak her iki DataFrame’deki tüm verileri koruyabilirsiniz:

result_outer = pd.merge(df1, df2, on='key', how='outer')

Hatalı Senaryolar ve Çözümleri

Birleştirme işlemleri sırasında bazı hatalarla karşılaşabilirsiniz. Örneğin, eğer birleştirilecek DataFrame’lerde anahtar sütunu yoksa veya sütun isimleri uyum sağlamıyorsa hata alırsınız. Bu durumda, öncelikle her iki DataFrame’deki sütun adlarını ve veri tiplerini kontrol etmelisiniz.

Bir başka sık karşılaşılan hata, eksik veya NaN değerlerdir. Eğer birleştirme işlemi sırasında bu tür değerler mevcutsa, birleştirmenizin sonuçları beklediğiniz gibi olmayabilir. Bunun için NaN değerlerini temizlemek veya doldurmak iyi bir çözümdür. Örneğin, NaN değerlerini sıfır ile doldurmak için:

df1.fillna(0, inplace=True)

Ek olarak, merge veya concat işlemleri sırasında belirsiz sütun isimleriyle karşılaşabilirsiniz. Bu durumda, her iki DataFrame’in aynı sütun adlarına sahip olup olmadığını kontrol edin ve gerekirse yeniden adlandırarak birleştirme yapın.

Özet

Pandas kütüphanesi ile Python’da DataFrame’leri birleştirmek oldukça basittir. concat ve merge yöntemleri, veri analizi sırasında farklı veri setlerini bir araya getirmenize olanak tanır. İster satır bazında, ister anahtar sütunlarına göre birleştirme yapın, her iki yöntem de oldukça etkili bir şekilde çalışır.

Bu yazıda öğrenilen teknikleri deneyerek projelerinizde kullanabilir, veri setleriniz arasındaki ilişkiyi ortaya çıkarabilirsiniz. Birleştirme işlemleriyle analizlerinizi derinleştirerek daha geniş bir perspektif kazanacaksınız. Unutmayın, her zaman veri temizleme ve doğrulama adımlarını göz önünde bulundurmalısınız.

Pandas ile ilgili daha fazla bilgi ve örnek uygulama için kütüphanenin resmi belgelendirmesini incelemeyi unutmayın. DataFrame birleştirme yöntemlerini deneyerek uzmanlaşmanızı sağlayacak birçok içerik bulunmaktadır.

Scroll to Top