ပြုပြင်နည်း- ကော်လံများ ထပ်နေသော်လည်း နောက်ဆက်တွဲကို သတ်မှတ်မထားပါ။
ပန်ဒါများကို အသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-
ValueError : columns overlap but no suffix specified: Index(['column'], dtype='object')
ဒေတာဘောင်အသစ်တွင် ကော်လံများကို ခွဲခြားရန် အနည်းဆုံး ဘုံကော်လံအမည်တစ်ခု မျှဝေသည့် ဒေတာဘောင်နှစ်ခုကို ချိတ်ဆက်ရန် ကြိုးပမ်းသည့်အခါ ဤအမှားသည် ဖြစ်ပေါ်လာပါသည်။
ဤအမှားကိုပြင်ရန်နည်းလမ်းနှစ်ခုရှိသည်။
ဖြေရှင်းချက် 1- နောက်ဆက်တွဲအမည်များပေးပါ။
df1. join (df2, how = ' left ', lsuffix=' left ', rsuffix=' right ')
ဖြေရှင်းချက် 2- အစား ပေါင်းစည်းခြင်း လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
df1. merge (df2, how = ' left ')
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
ကျွန်ုပ်တို့သည် အောက်ပါဒေတာဘောင်နှစ်ခုကို ပေါင်းစည်းရန် ကြိုးစားနေသည်ဆိုပါစို့။
import pandas as pd #create first data frame df1 = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F'], ' points ': [5, 7, 7, 9, 12, 9], ' assists ': [11, 8, 10, 6, 6, 5]}) #create second data frame df2 = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F'], ' rebounds ': [4, 4, 6, 9, 13, 16], ' steals ': [2, 2, 1, 4, 3, 2]}) #attempt to perform left join on data frames df1. join (df2, how = ' left ') ValueError : columns overlap but no suffix specified: Index(['player'], dtype='object')
ဒေတာဘောင်နှစ်ခုစလုံးသည် “ ကစားသမား” ကော်လံကို မျှဝေထားသောကြောင့် အမှားအယွင်းတစ်ခုရရှိသော်လည်း ဒေတာဘောင်အသစ်၏ ကော်လံများကို ခွဲခြားရန် ဘယ် သို့မဟုတ် ညာဘက်တွင် ဒေတာဘောင်အတွက် နောက်ဆက်တွဲကို ထည့်သွင်းထားခြင်းမရှိပါ။
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကို ပြင်ဆင်ရန် နည်းလမ်းတစ်ခုမှာ ဒေတာဘောင်၏ ဘယ် သို့မဟုတ် ညာဘက်အတွက် နောက်ဆက်တွဲအမည်ကို ပေးဆောင်ရန်ဖြစ်သည်-
#perform left join on data frames with suffix provided df1. join (df2, how = ' left ', lsuffix=' left ', rsuffix=' right ') playerleft points assists playerright rebounds steals 0 A 5 11 A 4 2 1 B 7 8 B 4 2 2 C 7 10 C 6 1 3 D 9 6 D 9 4 4 E 12 6 E 13 3 5 F 9 5 F 16 2
ဤအမှားကိုပြင်ရန်နောက်ထပ်နည်းလမ်းမှာ data frames နှစ်ခုကိုချိတ်ဆက်သောအခါတွင်ဤပြဿနာကိုမကြုံတွေ့နိုင်သော merge() လုပ်ဆောင်ချက်ကိုရိုးရှင်းစွာအသုံးပြုရန်ဖြစ်သည်-
#merge two data frames df1. merge (df2, how = ' left ') player points assists rebounds steals 0 A 5 11 4 2 1 B 7 8 4 2 2 C 7 10 6 1 3 D 9 6 9 4 4 E 12 6 13 3 5 F 9 5 16 2
merge() လုပ်ဆောင်ချက်သည် ပထမဒေတာဘောင်နှင့် သက်ဆိုင်သည့် ဒုတိယဒေတာဘောင်မှ အမည်အားလုံးကို ဖယ်ရှားလိုက်ကြောင်း သတိပြုပါ။
ထပ်လောင်းအရင်းအမြစ်များ
အညွှန်းတွင် Pandas DataFrames နှစ်ခုကို ပေါင်းစပ်နည်း
ကော်လံအများအပြားတွင် Pandas DataFrames ကို ပေါင်းစည်းနည်း
Pandas DataFrame တွင် Numpy အခင်းအကျင်းတစ်ခုကို မည်သို့ထည့်ရမည်နည်း။