Pandas တွင် keyerror ကိုမည်သို့ဖြေရှင်းနည်း (ဥပမာနှင့်အတူ)
ပန်ဒါများကို အသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-
KeyError : 'column_name'
မရှိသောပန်ဒါ DataFrame ကော်လံတစ်ခုကို သင်ဝင်ရောက်ရန်ကြိုးစားသောအခါ ဤအမှားဖြစ်ပေါ်ပါသည်။
ပုံမှန်အားဖြင့်၊ သင်သည် ကော်လံအမည်ကို ရိုးရိုးစာလုံးပေါင်းမှားခြင်း သို့မဟုတ် ကော်လံအမည်ရှေ့ သို့မဟုတ် နောက်တွင် မတော်တဆနေရာတစ်ခု ထည့်သွင်းသည့်အခါတွင် ဤအမှားဖြစ်ပေါ်ပါသည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
ကျွန်ုပ်တို့သည် အောက်ပါ ပန်ဒါ DataFrame ကို ဖန်တီးသည်ဆိုပါစို့။
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 5 23 9 5 6 25 9 9 7 29 4 12
ထို့နောက် “ point” ဟုခေါ်သော ကော်လံတွင် တန်ဖိုးများကို ပရင့်ထုတ်ရန် ကြိုးစားသည်ဆိုပါစို့။
#attempt to print values in 'point' column print (df[' point ']) KeyError Traceback (most recent call last) /srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 3360 try: -> 3361 return self._engine.get_loc(casted_key) 3362 except KeyError as err: /srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc() /srv/conda/envs/notebook/lib/python3.7/site-packages/pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc() pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError : 'dot'
ကျွန်ုပ်တို့၏ DataFrame တွင် “ dot” ကော်လံမရှိသောကြောင့်၊ ကျွန်ုပ်တို့သည် KeyError ကို လက်ခံရရှိပါသည်။
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကို ပြင်ဆင်ရန်နည်းလမ်းမှာ ကော်လံအမည်ကို မှန်ကန်စွာ စာလုံးပေါင်းကြောင်း သေချာစေခြင်းဖြစ်ပါသည်။
DataFrame ရှိ ကော်လံအမည်များအားလုံးကို ကျွန်ုပ်တို့ မသေချာပါက၊ ကော်လံအမည်တစ်ခုစီကို ပရင့်ထုတ်ရန် အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။
#display all column names of DataFrame print ( df.columns.tolist () ) ['points', 'assists', 'rebounds']
“ points” ဟုခေါ်သော ကော်လံတစ်ခု ရှိနေသည်ကို ကျွန်ုပ်တို့ တွေ့မြင်နိုင်သောကြောင့် ကော်လံအမည်ကို မှန်ကန်စွာ စာလုံးပေါင်းခြင်းဖြင့် ကျွန်ုပ်တို့၏အမှားကို ပြင်ဆင်နိုင်သည်-
#print values in 'points' column print (df[' points ']) 0 25 1 12 2 15 3 14 4 19 5 23 6 25 7 29 Name: points, dtype: int64
ကော်လံအမည်ကို မှန်ကန်စွာ စာလုံးပေါင်းနိုင်သောကြောင့် အမှားအယွင်းမရှိအောင် ရှောင်ကြဉ်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-
ပြုပြင်နည်း- ကော်လံများ ထပ်နေသော်လည်း နောက်ဆက်တွဲကို သတ်မှတ်မထားပါ။
ပြုပြင်နည်း- Object ‘numpy.ndarray’ တွင် ‘append’ attribute မရှိပါ။
ပြင်ဆင်နည်း- scalar တန်ဖိုးများအားလုံးကို အသုံးပြုပါက၊ အညွှန်းတစ်ခုကို ကျော်သွားရန်လိုအပ်သည်။