Pandas တွင် cross join လုပ်နည်း (ဥပမာနှင့်အတူ)


ပန်ဒါများတွင် လက်ဝါးကပ်တိုင် ပါဝင်မှုကို လုပ်ဆောင်ရန် အောက်ပါ အခြေခံ syntax ကို သင် အသုံးပြုနိုင်ပါသည်။

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

အောက်ဖော်ပြပါ ဥပမာသည် ဤလုပ်ဆောင်ချက်ကို လက်တွေ့အသုံးချနည်းကို ပြသထားသည်။

ဥပမာ- Pandas တွင် Cross Join ကိုလုပ်ဆောင်ခြင်း။

ကျွန်ုပ်တို့တွင် အောက်ပါ Panda DataFrames နှစ်ခုရှိသည်ဟု ယူဆကြပါစို့။

 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

အောက်ပါကုဒ်သည် DataFrames နှစ်ခုတွင် cross Join ကို မည်သို့လုပ်ဆောင်ရမည်ကို ပြသသည်-

 #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

ရလဒ်မှာ DataFrame တစ်ခုစီမှ ဖြစ်နိုင်သော အတန်းများအားလုံးကို ပေါင်းစပ်ပါဝင်သည့် DataFrame တစ်ခုဖြစ်သည်။

ဥပမာအားဖြင့်၊ ပထမ DataFrame ၏ပထမအတန်းတွင် Team A နှင့် 18 မှတ်ပါရှိသည်။ ဤစာကြောင်းသည် ဒုတိယ DataFrame ၏ စာကြောင်းတစ်ခုစီနှင့် သက်ဆိုင်ပါသည်။

ထို့နောက် ပထမ DataFrame ၏ ဒုတိယတန်းတွင် Team B နှင့် 22 မှတ်ပါရှိသည်။ ဤအတန်းသည် ဒုတိယ DataFrame ၏အတန်းတိုင်းနှင့်လည်း သက်ဆိုင်ပါသည်။

နောက်ဆုံးရလဒ်မှာ အတန်း ၁၂ တန်းပါသည့် DataFrame ဖြစ်သည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် ပန်ဒါများတွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

Pandas တွင် ဘယ်ဘက်ပါဝင်နည်း
Pandas တွင် ဘယ်ဘက်ပါဝင်နည်း
Pandas Join သို့မဟုတ် Merge- ကွာခြားချက်ကဘာလဲ။

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်