ပြုပြင်နည်း- တူညီသောတံဆိပ်တပ်ထားသော အမှတ်စဉ်အရာဝတ္ထုများကိုသာ နှိုင်းယှဉ်နိုင်သည်။
ပန်ဒါများကို အသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-
ValueError : Can only compare identically-labeled DataFrame objects
ပန်ဒါ DataFrames နှစ်ခုကို နှိုင်းယှဉ်ရန် ကြိုးစားသောအခါတွင် ဤအမှားသည် အညွှန်းတံဆိပ်များ သို့မဟုတ် ကော်လံတံဆိပ်များ လုံးဝကိုက်ညီမှုမရှိပါ။
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
ကျွန်ုပ်တို့တွင် အောက်ပါ Panda DataFrames နှစ်ခုရှိသည်ဟု ယူဆကြပါစို့။
import pandas as pd #define DataFrames df1 = pd. DataFrame ({' points ': [25, 12, 15, 14], ' assists ': [5, 7, 13, 12]}) df2 = pd. DataFrame ({' points ': [25, 12, 15, 14], ' assists ': [5, 7, 13, 12]}, index=[3, 2, 1, 0]) #view DataFrames print (df1) assist points 0 25 5 1 12 7 2 15 13 3 14 12 print (df2) assist points 3 25 5 2 12 7 1 15 13 0 14 12
ကော်လံတံဆိပ်များသည် တူညီသော်လည်း အညွှန်းအညွှန်းများ မပါရှိကြောင်း သတိပြုပါ။
ကျွန်ုပ်တို့သည် DataFrames နှစ်ခုကို နှိုင်းယှဉ်ရန် ကြိုးစားပါက၊ ကျွန်ုပ်တို့သည် အမှားတစ်ခု လက်ခံရရှိလိမ့်မည်-
#attempt to compare the DataFrames
df1 = df2
ValueError : Can only compare identically-labeled DataFrame objects
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကိုဖြေရှင်းရန် ကျွန်ုပ်တို့သုံးနိုင်သော နည်းလမ်းအချို့ရှိပါသည်။
နည်းလမ်း 1- ဒေတာဘောင်များကို နှိုင်းယှဉ်ပါ (အညွှန်းတံဆိပ်များ အပါအဝင်)
DataFrames နှစ်ခုကို ပြီးပြည့်စုံသော ကိုက်ညီမှုရှိမရှိ (အညွှန်းအညွှန်းများ အပါအဝင်) ကိုကြည့်ရှုရန် အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။
df1. equals (df2)
False
၎င်းသည် DataFrames နှစ်ခုသည် လုံးဝကိုက်ညီမှုမရှိပါ (အညွှန်းတံဆိပ်များအပါအဝင်) ကိုပြောပြသည်။
နည်းလမ်း 2- ဒေတာဘောင်များကို နှိုင်းယှဉ်ပါ (အညွှန်းအညွှန်းများကို လျစ်လျူရှုပါ)
အညွှန်းတံဆိပ်များကို လုံး၀ လျစ်လျူရှုထားသော်လည်း ၎င်းတို့သည် ပြီးပြည့်စုံသော ကိုက်ညီမှု ရှိ၊ မရှိ သိရှိနိုင်ရန် DataFrames နှစ်ခုကို နှိုင်းယှဉ်ရန် အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။
df1. reset_index (drop= True ). equals ( df2.reset_index (drop= True ))
True
၎င်းသည် DataFrames နှစ်ခုသည် လုံးဝကိုက်ညီကြောင်း (အညွှန်းတံဆိပ်များကို လျစ်လျူရှုခြင်း) ကိုပြောပြသည်။
နည်းလမ်း 3- DataFrames အတန်းကို အတန်းအလိုက် နှိုင်းယှဉ်ပါ။
မည်သည့်အတန်းတန်ဖိုးများ ကိုက်ညီသည်ကို ကြည့်ရန် DataFrames အတန်းနှစ်ခုကို အတန်းအလိုက် နှိုင်းယှဉ်ရန် အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။
df1. reset_index (drop= True ) == df2. reset_index (drop= True )
assist points
0 True True
1 True True
2 True True
3 True True
၎င်းသည် အတန်းတစ်ခုစီတွင် မည်သည့်တန်ဖိုးများနှင့် ကိုက်ညီသည်ကို မြင်နိုင်စေပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြုပြင်ရမည်ကို ရှင်းပြသည်-
Pandas တွင် KeyError ကိုဘယ်လိုပြင်မလဲ။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int သို့ ပြောင်းလဲ၍မရပါ။
ပြုပြင်နည်း- တန်ဖိုးအမှား- Operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။