Pandalarda çapraz birleştirme nasıl gerçekleştirilir (örnekle)


Pandalarda çapraz birleştirme gerçekleştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 #create common key
df1[' key '] = 0
df2[' key '] = 0

#outer merge on common key (eg a cross join)
df1. merge (df2, on=' key ', how=' outer ')

Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.

Örnek: Pandalarda Çapraz Birleştirme Gerçekleştirme

Aşağıdaki iki panda DataFrame’e sahip olduğumuzu varsayalım:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D'],
                    ' points ': [18, 22, 19, 14]})

print (df1)

  team points
0 to 18
1 B 22
2 C 19
3 D 14

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'B', 'F'],
                    ' assists ': [4, 9, 8]})

print (df2)

  team assists
0 to 4
1 B 9
2 F 8

Aşağıdaki kod, iki DataFrame’de çapraz birleştirmenin nasıl gerçekleştirileceğini gösterir:

 #create common key
df1[' key '] = 0
df2[' key '] = 0

#perform cross join
df3 = df1. merge (df2, on=' key ', how=' outer ')

#drop key column
del df3[' key ']

#view results
print (df3)

   team_x points team_y assists
0 A 18 A 4
1 A 18 B 9
2 A 18 F 8
3 B 22 A 4
4 B 22 B 9
5 B 22 F 8
6 C 19 A 4
7 C 19 B 9
8 C 19 F 8
9 D 14 A 4
10 D 14 B 9
11 D 14 F 8

Sonuç, her bir DataFrame’den gelen tüm olası satır kombinasyonlarını içeren bir DataFrame’dir.

Örneğin, ilk DataFrame’in ilk satırı Takım A’yı ve 18 puanı içerir. Bu satır ikinci DataFrame’in her satırına karşılık gelir.

Daha sonra ilk DataFrame’in ikinci satırı Takım B’yi ve 22 puanı içerir. Bu satır aynı zamanda ikinci DataFrame’in her satırına karşılık gelir.

Sonuçta 12 satırlı bir DataFrame elde edilir.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalarda sol birleştirme nasıl yapılır
Pandalarda sol birleştirme nasıl yapılır
Pandaların Birleştirilmesi veya Birleştirilmesi: Fark nedir?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir