ပြုပြင်နည်း- ကော်လံများ ထပ်နေသော်လည်း နောက်ဆက်တွဲကို သတ်မှတ်မထားပါ။


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

 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 အခင်းအကျင်းတစ်ခုကို မည်သို့ထည့်ရမည်နည်း။

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

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