Cara melakukan cross join di pandas (dengan contoh)


Anda dapat menggunakan sintaks dasar berikut untuk melakukan gabungan silang di panda:

 #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 ')

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Melakukan Cross Join di Pandas

Mari kita asumsikan kita memiliki dua panda DataFrames berikut:

 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

Kode berikut menunjukkan cara melakukan gabungan silang pada dua DataFrame:

 #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

Hasilnya adalah DataFrame yang berisi semua kemungkinan kombinasi baris dari setiap DataFrame.

Misalnya, baris pertama DataFrame pertama berisi Tim A dan 18 poin. Baris ini sesuai dengan setiap baris DataFrame kedua.

Kemudian baris kedua DataFrame pertama berisi Tim B dan 22 poin. Baris ini juga sesuai dengan setiap baris DataFrame kedua.

Hasil akhirnya adalah DataFrame dengan 12 baris.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:

Bagaimana cara melakukan gabung kiri di Pandas
Bagaimana cara melakukan gabung kiri di Pandas
Pandas Bergabung atau Bergabung: Apa bedanya?

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *