Python ile İki DataFrame’i Birleştirme Yöntemleri

Giriş

Veri analizi konusunda Python’un sunduğu en güçlü kütüphanelerden biri olan pandas, büyük veri setleriyle çalışmak için birçok işlev sunmaktadır. Bu işlevlerden biri, veri setlerini birleştirmek, yani merge etmektir. Veri birleştirme, farklı kaynaklardan gelen verilerin tek bir yapı altında toplanmasını sağlar. Python’da iki DataFrame’i birleştirmek, veri analistlerinin ve bilim insanlarının yaygın olarak karşılaştığı bir ihtiyaçtır. Bu yazıda, bu işlemi nasıl gerçekleştireceğinizi detaylarıyla açıklayacağım ve farklı birleştirme yöntemlerini ele alacağım.

Pandas Kütüphanesi ile DataFrame Oluşturma

İlk önce iki DataFrame oluşturarak işlemimizi kolaylaştıracağız. Pandas kütüphanesini kullanarak bu DataFrame’leri oluşturabiliriz. İşte basit bir örnek:

import pandas as pd

# İlk DataFrame
data1 = {
    'ID': [1, 2, 3],
    'İsim': ['Alice', 'Bob', 'Charlie'],
    'Yaş': [25, 30, 35]
}
df1 = pd.DataFrame(data1)

# İkinci DataFrame
data2 = {
    'ID': [2, 3, 4],
    'Şehir': ['New York', 'Los Angeles', 'Chicago'],
    'Ülke': ['ABD', 'ABD', 'ABD']
}
df2 = pd.DataFrame(data2)

Yukarıda iki ayrı DataFrame oluşturduk. ‘df1’ isimli DataFrame’de bireylerin bilgileri bulunurken, ‘df2’ isimli DataFrame’de ise bazı bireylerin şehir ve ülke bilgileri yer almaktadır. Şimdi bu iki DataFrame’i birleştirelim.

DataFrame’leri Merge Etme

Pandas kütüphanesinde iki DataFrame’i birleştirmek için merge() fonksiyonunu kullanıyoruz. Bu fonksiyon, SQL’deki JOIN işlemi gibi çalışarak iki veri setini belirli bir anahtar değerine göre birleştirir. Örneğin, yukarıda oluşturduğumuz ‘df1’ ve ‘df2’ DataFrame’lerini ‘ID’ sütununa göre birleştirebiliriz:

merged_df = pd.merge(df1, df2, on='ID')

Bu işlem sonucunda ‘ID’ değerine sahip olan satırlar, her iki DataFrame’den gelen bilgileri içerecek şekilde birleştirilecektir. Dikkat edilmesi gereken en önemli nokta, birleştirme işlemini gerçekleştirebilmek için her iki DataFrame’de de ortak bir sütunun bulunması gereğidir.

Merge İşlemi Sonucu

İşlemin sonucu olarak elde edilen merged_df DataFrame’i aşağıda gösterilmektedir:

   ID     İsim  Yaş         Şehir  Ülke
0   2      Bob   30     New York  ABD
1   3  Charlie   35  Los Angeles  ABD

Gördüğünüz gibi, sadece ‘ID’ değeri 2 ve 3 olan satırlar birleştirildi. Bu, ‘df1’ ve ‘df2’ DataFrame’lerindeki bilgilerin yalnızca ortak olan satırlar üzerinden birleştirildiği anlamına gelir. Şayet eğer her iki DataFrame’de de aynı ‘ID’ değerleri mevcutsa, o satırlara ait bilgilerle birleşeceklerdir.

Farklı Birleştirme Türleri

Pandas kütüphanesi ile farklı türlerde merge işlemleri gerçekleştirmek mümkündür. Bunlar arasında inner join, outer join, left join ve right join gibi seçenekler bulunmaktadır. inner join, yalnızca her iki DataFrame’de mevcut olan satırları döndürür. outer join ise her iki DataFrame’den gelen tüm satırları içerir; eksik olan değerlere NaN atar.

Inner Join Örneği

Inner join, yukarıda gösterdiğimiz merge işlemiyle aynı sonuçları verir. Bunu şu şekilde gerçekleştirebilirsiniz:

inner_merged_df = pd.merge(df1, df2, on='ID', how='inner')

Bu birleştirme türü, yalnızca her iki DataFrame’de de yer alan ‘ID’ değerlerine sahip olan satırları alır.

Outer Join Örneği

Outer join ile her iki DataFrame’in tüm satırlarını birleştirebiliriz. Eksik olan değerler için NaN dönecektir:

outer_merged_df = pd.merge(df1, df2, on='ID', how='outer')

Bu işlem sonucunda iki DataFrame’de bulunan tüm ‘ID’ değerleri göz önünde bulundurularak birleştirilmiş bir DataFrame elde edilecektir.

Birleştirme Sonrasında Veri İnceleme

DataFrame’leri birleştirdikten sonra, elde edilen veriyi incelemek oldukça önemlidir. Merge işlemi sonrasında NaN değerlerin varlığı, veri setinin analizi için dikkat edilmesi gereken bir konu olabilir. Bu NaN değerlerin nasıl işleneceği ise projenizin gereksinimlerine bağlı olarak değişir.

NaN Değerleriyle Baş Etme

NaN değerleriyle baş etmenin birkaç yolu vardır:

  • NaN Değerlerini Doldurma: NaN değerleri belirli bir değer ile doldurulabilir. Bunu fillna() metodu ile yapabilirsiniz.
  • NaN Değerlerini Kaldırma: Eğer boş değerlerin bulunduğu satırlara ihtiyacınız yoksa bu satırları dropna() metodu ile kaldırabilirsiniz.

Örneğin, NaN değerlerini 0 ile doldurmak için:

outer_merged_df.fillna(0, inplace=True)

Veri Analizi İçin Diğer İmkanlar

Birleştirilmiş DataFrame’iniz üzerinde çeşitli veri analizleri gerçekleştirebilirsiniz. Örneğin, gruplama, filtreleme, ortalamaları hesaplama gibi işlemleri pandas ile kolayca yapabilirsiniz. Veri analizi, yalnızca verinin hangi alanlarda toplandığını değil, aynı zamanda verinin nasıl kullanılacağı hakkında da önemli sonuçlara ulaşmanıza yardımcı olacaktır.

Sonuç

Python kullanarak iki veya daha fazla DataFrame’i birleştirmek, veri analizi sürecinin önemli bir parçasıdır. Bu yazıda, pandas kütüphanesinin sağladığı merge() fonksiyonu ile birleştirme işlemlerini gerçekleştirdik ve farklı birleştirme türlerine değindik. Birleştirilen veri setlerini incelemek ve NaN değerlerle başa çıkmak da veri analizi sürecinin önemli bir yönüdür.

Artık, Python’da veri birleştirmenin temel yöntemlerini öğrendiniz. Uygulamalarınızı geliştirirken bu teknikleri kullanarak daha verimli sonuçlar elde edebilirsiniz. Her zaman olduğu gibi, yeni şeyler denemekten çekinmeyin ve öğrendiklerinizi projelerinize uygulayarak pratik kazanın. İyi çalışmalar!

Scroll to Top