NumPy ve Pandas Kullanarak Veri Birleştirme (Join, Merge)

NumPy ve Pandas Kullanarak Veri Birleştirme (Join, Merge)

NumPy ve Pandas kullanarak veri birleştirme işlemleri artık çok daha kolay! Bu yazılımlar sayesinde, farklı veri setlerini bir araya getirerek analiz etmek çok kolay Join ve merge işlemlerini öğrenerek verilerinizi etkili bir şekilde kullanabilirsiniz Detaylı bilgi için sitemizi ziyaret edebilirsiniz

NumPy ve Pandas Kullanarak Veri Birleştirme (Join, Merge)

Python'da veri analizi yapıldığında farklı kaynaklardan elde edilen verileri birleştirme ihtiyacı doğabilir. Bu ihtiyacı karşılamak amacıyla NumPy ve Pandas kütüphaneleri kullanılabilir. NumPy, sayısal verilerin işlenmesi ve numpy dizilerinin oluşturulması için kullanılırken Pandas, veri manipülasyonu için kullanılır.

Veri birleştirme işlemi genellikle join ve merge işlemlerini içerir. İki farklı veri kümesini birleştirme işlemine join, birden fazla veri kümesini birleştirme işlemine ise merge denir. Join işlemi, veri tabanlarında ve Pandas kütüphanesinde yaygın olarak kullanılırken merge işlemi daha esnek bir yapıya sahiptir.


Join İşlemi Nedir?

Join İşlemi Nedir?

Join, SQL veri tabanlarında ve Pandas kütüphanesi aracılığıyla farklı veri kaynaklarını birleştirmek için kullanılan önemli bir iştir. İki veya daha fazla farklı veri kümesinden birleştirme yaparak daha geniş ve daha anlamlı bir veri kümesi elde etmek mümkündür.

Join işlemi, iki veya daha fazla veri kümesindeki eşleşen kayıtların birleştirilmesi ile gerçekleşir. Join işlemi, veri tabanı yönetimi, raporlama ve veri analizi işlemlerinde yaygın olarak kullanılır.


Merge İşlemi Nedir?

Merge işlemi, iki veya daha fazla veri kümesinin birleştirilmesi için kullanılan bir veri işleme yöntemidir. Join işlemine benzerlik gösterse de daha esnek bir yapıya sahip olması nedeniyle birden fazla veri kümesini birleştirmek için tercih edilir.

Birden fazla veri kümesinin birleştirilmesi için merge() fonksiyonu kullanılır. Bu fonksiyon, birleştirilecek veri kümesi sayısına göre değişken sayıda argüman alabilir. Ayrıca, join işlemine benzer şekilde, birleştirme işlemini yapmak için belirli bir anahtar alanı seçmenize olanak sağlar.

Merge işlemi, verilerin farklı sıralarda veya farklı değişken isimleriyle depolanmış olması durumunda bile yapılabildiği için oldukça esnektir. Ancak, aynı anahtar değerlerinin farklı verileri temsil etmesi durumunda dikkatli olunması gerekmektedir.


Inner Join Nedir?

Inner join, iki farklı veri kümesindeki benzer kayıtları birleştirir. Bu işlem, iki veri kümesindeki ortak alanlarda eşleşen kayıtların birleştirilmesi anlamına gelir. Veri kümesindeki her kaydın, diğer veri kümesindeki kayıtlarla eşleşebileceği bir alan vardır. İki veri kümesindeki ortak alanlarda eşleşen kayıtlar birleştirilir. Inner join kullanılırken, sol ve sağ veri kümesindeki eşleşen kayıtlar birbirine eklenirken, eşleşmeyen kayıtlar atlanır.

Örneğin, bir kitap listesi ve bir yazar listesi için inner join kullanıldığında, her kitaba karşılık gelen yazar kaydı eşleştirilir. Inner join işlemi, iki farklı veri kümesinde ortak kayıtları birleştirmek ve bu verilerin kesişim kümesini oluşturmak için kullanılır. Bu işlem verilerin tamamlanmasına ve birbiriyle bağlantılı hale gelmesine yardımcı olur. Inner join işlemi, veri analizi için oldukça önemlidir. Inner join, bir veri kümesindeki eksik verileri tamamlamak ve yanlış verileri düzeltmek için de kullanılabilir.


Left Join Nedir?

Left join, soldaki veri kümesinde bulunan tüm kayıtları ve sağdaki veri kümesindeki eşleşen kayıtları birleştirir. Eşleşmeyen alanlar null olarak atanır. Sol tablo, önceden belirlenmiş tüm değerlere sahip olan ana veri kümesidir. Sağdaki tablo ise sol tablodaki anahtar değeri ile eşleşen tüm kayıtları içerir. Left join işlemi, soldaki veri kümesinin tüm kayıtlarını ve sağdaki veri kümesindeki tekil eşleşmeleri birleştirir, ancak sağdaki veri kümesinde eşleşmeyen değerler null olarak atanır.


Right Join Nedir?

Right join, veri kümesindeki iki farklı tablodan sağ tarafta bulunan tüm kayıtları ve sol tarafta bulunan eşleşen kayıtları birleştirir. Eşleşmeyen alanlar null olarak atanır. Bu işlemde, sol taraftaki tablodaki tüm veriler korunurken, sağ taraftaki tablonun yalnızca eşleşen verileri alınır. Eğer eşleşen alanlarda kayıt yoksa, bu alana null değeri atanır.

Örneğin, bir online mağaza veri kümesi düşünelim. Müşteriler ve siparişler adında iki ayrı tablomuz olsun. Siparişler tablosunda her müşterinin birden fazla siparişi olabilir, ancak tüm müşterilerin siparişi zorunlu değildir. Eğer her iki tablodaki verileri birleştirmek istiyorsak, right join kullanabiliriz. Bu sayede, tüm siparişler alınırken, müşterisi olmayan siparişler null değeri olarak atanır.


Outer Join Nedir?

Outer join işlemi, iki farklı veri kümesindeki tüm kayıtları birleştirir. Bu işlemde, eşleşen kayıtlar birleştirilir, ancak eşleşmeyen alanlar null olarak atanır. Sol ve sağ veri kümesindeki tüm kayıtların birleştirilmesini sağlar. Bu işlem, birleştirilecek iki farklı veri kümesindeki kayıtların tamamını korumak istediğiniz durumlarda kullanılır.

Örneğin, bir müşteri listesi ve bir sipariş listesi birleştirilecek olsun. Her iki listede de ortak alanlar varsa, yani aynı müşteriler sipariş vermişse, bu kayıtlar birleştirilecek ve eşleşen alanlar tek bir satırda tutulacak. Aynı zamanda, müşteri listesinde bulunan ancak henüz sipariş vermeyen kayıtlar ve sipariş listesinde bulunan ancak müşteri listesinde bulunmayan kayıtlar da kaydedilecek, ancak bunların eşleşmeyen alanlar olduğundan null olarak atanacak.


Concatenation İşlemi Nedir?

Concatenation işlemi, farklı veri kümesi gruplarını birbirine bağlamak için kullanılır. Bu işlem, verileri farklı bir eksen boyunca birleştirerek veri kümesi boyutunu arttırmak için de kullanılabilir. Örneğin, birçok kaynaktan gelen verileri birleştirerek tek bir veri kümesi oluşturmak istediğinizde concatenation işlemi kullanılabilir.


Axis Kavramı Nedir?

Axis (eksen), bir nesnenin boyutunu ifade eder. Veri birleştirme işlemi sırasında farklı eksenden birleştirme işlemi yapılabilir. Pandas kütüphanesi, birleştirme işlemlerinde ekseni belirlemek için axis parametresini kullanır. Örneğin, axis=0 parametresiyle satır bazında birleştirme işlemi yapılabilirken, axis=1 parametresiyle sütun bazında birleştirme işlemi yapılabilir.

Veri kümesi boyutunu arttırmak için, farklı bir eksen boyunca birden fazla veri kümesi birleştirilebilir. Bu, Pandas kütüphanesinde kullanılan concat() fonksiyonu ile yapılabilir. Genellikle, axis=0 parametresi kullanılarak, veriler satır bazında birleştirilir ve boyut artışı sağlanır.


Concatenation İşlemi Nasıl Gerçekleştirilir?

Veri birleştirme işlemlerinde Pandas kütüphanesinde kullanılan bir diğer fonksiyon ise concat() fonksiyonudur. Concatenation işlemi, farklı veri kümesi gruplarını birbirine bağlamak veya veri kümesi boyutunu artırmak için kullanılır.

Pandas’ın concat() fonksiyonu, birleştirmek istediğiniz veri kümesini listeler ve istediğiniz ekseni belirlemenize olanak sağlar. Örneğin, iki veri kümesini birleştirmek istediğinizde, bunları listenize ekleyebilir ve axis parametresini kullanarak birleştirme işleminin nasıl gerçekleşeceğini belirleyebilirsiniz. axis parametresi 0 veya 1 olarak belirtilebilir ve birleştirme işleminin kullanılacak eksene göre gerçekleştirilmesini sağlar. axis=0, satırları birleştirmek için kullanılırken, axis=1, sütunları birleştirmek için kullanılır.

Örneğin, aşağıdaki tabloların birleştirilmesi için concat() fonksiyonu kullanılabilir:

Öğrenci Adı Yaş Cinsiyet
Ayşe 23 Kadın
Ali 25 Erkek
Öğrenci Adı Not Ortalaması Okul
Ayşe 85 Ankara Üniversitesi
Ali 82 İstanbul Üniversitesi

Bu iki tablonun birleştirilmesi için aşağıdaki kodu kullanabilirsiniz:

import pandas as pd ogrenciler = pd.DataFrame({    'Öğrenci Adı': ['Ayşe', 'Ali'],    'Yaş': [23, 25],    'Cinsiyet': ['Kadın', 'Erkek']})notlar = pd.DataFrame({    'Öğrenci Adı': ['Ayşe', 'Ali'],    'Not Ortalaması': [85, 82],    'Okul': ['Ankara Üniversitesi', 'İstanbul Üniversitesi']})birlesik_tablo = pd.concat([ogrenciler, notlar], axis=1)

Bu kod, ogrenciler ve notlar veri çerçevelerini birleştirerek bir birleşik_tablo oluşturacak ve bu tabloyu birleştirmenin kullanılacak eksenine göre satır veya sütun olarak birleştirecektir.


Örnek Birleştirme İşlemi

NumPy ve Pandas kütüphaneleri kullanılarak gerçekleştirilebilen veri birleştirme işlemi, örnekle açıklanacak. Bu örnekte, bir kitap listesi ve bir yazar listesi birleştirilecek.

Kitap listesi aşağıdaki gibidir:

Kitap Adı Yazar Adı Fiyat
Suç ve Ceza Fyodor Dostoyevski 20 TL
İnsan Ne İle Yaşar? Lev Nikolayeviç Tolstoy 15 TL
1984 George Orwell 18 TL

Yazar listesi aşağıdaki gibi:

Yazar Adı Yaş Doğum Yeri
Fyodor Dostoyevski 59 Rusya
Lev Nikolayeviç Tolstoy 82 Rusya
George Orwell 46 İngiltere

Kitap ve yazar listesi, yazar adına göre birleştirilecek. Bunun için Pandas kütüphanesi kullanılacak. İlk olarak her iki liste de bir Pandas DataFrame nesnesine dönüştürülecek. Daha sonra yazar adına göre birleştirme işlemi yapılacak.

import pandas as pdimport numpy as np# Kitap listesibooks = pd.DataFrame({    'Kitap Adı': ['Suç ve Ceza', 'İnsan Ne İle Yaşar?', '1984'],    'Yazar Adı': ['Fyodor Dostoyevski', 'Lev Nikolayeviç Tolstoy', 'George Orwell'],    'Fiyat': ['20 TL', '15 TL', '18 TL']})# Yazar listesiauthors = pd.DataFrame({    'Yazar Adı': ['Fyodor Dostoyevski', 'Lev Nikolayeviç Tolstoy', 'George Orwell'],    'Yaş': [59, 82, 46],    'Doğum Yeri': ['Rusya', 'Rusya', 'İngiltere']})# Yazar adına göre birleştirme işlemimerged = pd.merge(books, authors, on='Yazar Adı')

Sonuç olarak, yazar adına göre birleştirilmiş veri kümesi aşağıdaki gibidir:

Kitap Adı Yazar Adı Fiyat Yaş Doğum Yeri
Suç ve Ceza Fyodor Dostoyevski 20 TL 59 Rusya
İnsan Ne İle Yaşar? Lev Nikolayeviç Tolstoy 15 TL 82 Rusya
1984 George Orwell 18 TL 46 İngiltere

Bu örnekle, NumPy ve Pandas kütüphanelerini kullanarak veri kaynaklarının birleştirilmesi işleminin nasıl gerçekleştirileceği hakkında bir fikir edinmiş oldunuz.