Zephyrnet Logosu

Pandas DataFrame'lerini Birleştirmenin 3 Yolu

Tarih:

Pandas DataFrame'lerini Birleştirmenin 3 Yolu
Editöre göre resim
 

Gerçek dünyadaki veriler dağınıktır ve farklı kaynakları bazı ortak noktalarda bir araya getirmeyi gerektirir. Ayrıca kuruluşların tüm verileri tek bir tabloda depolamasının daha verimli ve uygun maliyetli olması gerekir. Bu nedenle, verileri birden çok tabloda tutmak ve gerektiğinde bunları birleştirmek, her iki dünyanın da en iyisini, yani verimliliği ve değerli içgörüleri elde etmenin yoludur.

"Pandalar", birden fazla kaynaktan gelen verileri tek bir veri çerçevesinde birleştirmenize izin verdiği için veri analizinde oldukça yardımcı olan veri çerçevesi birleştirme sunar. Örneğin, müşteri siparişleri hakkında bilgi içeren bir satış veri kümeniz ve müşteri demografisini içeren başka bir veri kümeniz olduğunu hayal edin. Müşteri kimliğindeki bu iki veri çerçevesini birleştirerek, tüm bilgileri tek bir yerde içeren yeni bir veri çerçevesi oluşturabilirsiniz, bu da müşteri demografisi ile satış arasındaki ilişkiyi analiz etmeyi ve anlamayı kolaylaştırır.

Bu veri çerçevelerini birleştirmek, verilerinize gelişmiş makine öğrenimi sistemlerini çalıştırabilecek hesaplanmış alanlar veya toplu istatistikler gibi ek sütunlar eklemenize olanak tanır. Birleştirme, temizleme, normalleştirme ve ön işleme gibi veri hazırlama görevleri için de yardımcı olabilir.

Bu gönderide, Pandas veri çerçevelerini birleştirmenin üç yolunu ve çıktılar arasındaki farkı öğreneceksiniz. Birleştirme, birleştirme ve birleştirme işlemlerini kullanarak farklı veri analizi kullanım durumlarını nasıl kolaylaştırdığını da takdir edebileceksiniz.

birleştirme() işlemi, anahtarlar olarak da adlandırılan bir veya daha fazla ortak sütuna dayalı olarak iki veri çerçevesini birleştirmek için kullanılan bir yöntemdir. Ortaya çıkan veri çerçevesi, eşleşen anahtarlara sahip her iki veri çerçevesinden yalnızca satırları içerir. birleştirme() işlevi, SQL JOIN işlemine benzer.

birleştirme() kullanmak için temel sözdizimi şöyledir:

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

 

Burada, df1 ve df2, birleştirmek istediğiniz iki veri çerçevesidir ve "on" bağımsız değişkeni, birleştirilecek sütunları tanımlar.

Varsayılan olarak, pandalar bir iç birleştirme gerçekleştirir; bu, sonuçta elde edilen veri çerçevesine yalnızca her iki veri çerçevesindeki eşleşen anahtarlara sahip satırların dahil edildiği anlamına gelir. Ancak, how parametresini kullanarak sol, sağ veya dış birleştirme gibi diğer birleştirme türlerini belirtebilirsiniz.

Bunu aşağıda gösterildiği gibi bir örnekle anlayalım. 

kullanabileceğinizi lütfen unutmayın. Jupyter Not Defteri (veya seçtiğiniz bir IDE) ile aşağıdaki kodu çalıştırın.

import pandas as pd # Define two dataframes
df1 = pd.dataframe({"key": ["A", "B", "C", "D"], "value1": [1, 2, 3, 4]}) df2 = pd.dataframe({"key": ["B", "D", "E", "F"], "value2": [5, 6, 7, 8]}) # Perform the merge
merged_df = pd.merge(df1, df2, on="key", how="inner") # Show the resulting
print(merged_df)

 

Bu, aşağıdaki çıktıyı üretecektir:

 key value1 value2
0 B 2 5
1 D 4 6

 

Sonuçtan da anlaşılacağı gibi, yeni birleştirilmiş_df veri çerçevesi yalnızca 'anahtar' sütunundaki değerlerin, yani B ve D'nin eşleştiği satırları içerir.

Öte yandan, join() işlemi, belirli bir sütun yerine iki veri çerçevesini dizinlerine göre birleştirir. Ortaya çıkan veri çerçevesi, yalnızca eşleşen dizinlere sahip her iki veri çerçevesinden gelen satırları içerir.

Join() kullanmanın temel sözdizimi şöyledir:

joined_df = df1.join(df2)

 

burada df1 ve df2 birleştirilecek iki veri çerçevesidir.

Varsayılan olarak, join() bir sol birleştirme gerçekleştirir; bu, ilk veri çerçevesindeki (df1) tüm satırların elde edilen veri çerçevesine dahil edileceği ve ikinci veri çerçevesindeki (df2) eşleşen dizin değerlerine sahip tüm satırların şu şekilde ekleneceği anlamına gelir: Peki. Eşleşme yoksa, ikinci veri çerçevesindeki eşleşmeyen satırlar NaN değerlerine sahip olacaktır. Ancak how parametresini kullanarak sağ, iç veya dış gibi diğer birleştirme türlerini belirtebilirsiniz.

Bunu aşağıda gösterildiği gibi bir örnekle anlayalım.

import pandas as pd # Define two dataframes
df1 = pd.dataframe({"value1": [1, 2, 3, 4]}, index=["A", "B", "C", "D"]) df2 = pd.dataframe({"value2": [5, 6, 7, 8]}, index=["B", "D", "E", "F"]) # Perform the join
joined_df = df1.join(df2, how="inner") # Show the resulting
print(joined_df)

 

Yukarıdaki kod aşağıdaki çıktıyı üretecektir:

 value1 value2
B 2 5
D 4 6

 

Burada, yeni birleştirilmiş_df veri çerçevesi yalnızca endekslerin eşleştiği satırları, yani B ve D'yi içerir.

concat(), belirli bir eksen (satırlar veya sütunlar) boyunca birden çok panda nesnesini (veri çerçevesi veya Seriler) birleştirmek için kullanılır. Varsayılan olarak eksen 0'dır, yani veriler satırlar boyunca (dikey olarak) birleştirilir. Listede belirtilen sırayla birleştirilmiş ilk bağımsız değişkeni olarak panda nesnelerinin bir listesini alır. 

concatenated_df = pd.concat([df1, df2])

 

İşlev, eksen, birleştirme, yoksay_dizin vb. gibi çeşitli parametreler aracılığıyla özelleştirilebilir.

İki veri çerçevesini birleştirmek için Pandas concat işlevini kullanmanın bir örneği aşağıda gösterilmiştir:

import pandas as pd df1 = pd.dataframe( { "A": ["A0", "A1", "A2", "A3"], "B": ["B0", "B1", "B2", "B3"], "C": ["C0", "C1", "C2", "C3"], "D": ["D0", "D1", "D2", "D3"], }, index=[0, 1, 2, 3],
) df2 = pd.dataframe( { "A": ["A4", "A5", "A6", "A7"], "B": ["B4", "B5", "B6", "B7"], "C": ["C4", "C5", "C6", "C7"], "D": ["D4", "D5", "D6", "D7"], }, index=[0, 1, 2, 3],
) concatenated_df = pd.concat([df1, df2])
print(concatenated_df)

 

Bu, aşağıdaki çıktıyı üretecektir:

 A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
0 A4 B4 C4 D4
1 A5 B5 C5 D5
2 A6 B6 C6 D6
3 A7 B7 C7 D7

 

Yukarıda gösterildiği gibi dizin tekrarını önlemek için (birleştirilmiş veri çerçevesinde 0'dan 3'e kadar olan dizinler iki kez oluşur), aşağıda gösterildiği gibi ignore_index=True kullanın.

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

 

Sonuç aşağıdaki gibi görünecektir.

 A B C D
0 A0 B0 C0 D0
1 A1 B1 C1 D1
2 A2 B2 C2 D2
3 A3 B3 C3 D3
4 A4 B4 C4 D4
5 A5 B5 C5 D5
6 A6 B6 C6 D6
7 A7 B7 C7 D7

 

Bu makalede, Pandas veri çerçevelerini birleştirmenin üç yolunu ve bunların herhangi bir BI projesinde verilerle uğraşırken farklı amaçları nasıl çözdüğünü öğrendiniz. Gönderi, python kodunu kullanarak birleştirme, birleştirme ve birleştirme işlemlerinin örneklerini gösterir.

 
 
Vidhi Chugh ölçeklenebilir makine öğrenimi sistemleri oluşturmak için ürün, bilim ve mühendisliğin kesiştiği noktada çalışan bir yapay zeka stratejisti ve dijital dönüşüm lideridir. Ödüllü bir inovasyon lideri, yazar ve uluslararası bir konuşmacıdır. Makine öğrenimini demokratikleştirme ve herkesin bu dönüşümün bir parçası olması için jargonu kırma misyonunda.
 

spot_img

En Son İstihbarat

spot_img