ပြုပြင်နည်း- တန်ဖိုးအမှား- ကိုက်ညီမှုမရှိသော ကော်လံများနှင့် အတန်းတစ်ခုကို သတ်မှတ်၍မရပါ။
ပန်ဒါများကို အသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-
ValueError : cannot set a row with mismatched columns
pandas DataFrame တွင် အတန်းအသစ်တစ်ခုထည့်ရန် ကြိုးပမ်းသောအခါတွင် ဤအမှားသည် အတန်းအသစ်ရှိ တန်ဖိုးအရေအတွက်သည် ရှိပြီးသား DataFrame ရှိ ကော်လံအရေအတွက်နှင့် မကိုက်ညီပါ။
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
ကျွန်ုပ်တို့သည် အောက်ပါ ပန်ဒါ DataFrame ကို ဖန်တီးသည်ဆိုပါစို့။
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28, 22], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4, 8], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12, 9]}) #view DataFrame df team points assists rebounds 0 A 18 5 11 1 B 22 7 8 2 C 19 7 10 3 D 14 9 6 4 E 14 12 6 5 F 11 9 5 6 G 20 9 9 7:28 4 12 8 I 22 8 9
ယခု DataFrame ၏အဆုံးတွင် အတန်းအသစ်တစ်ခုထည့်ရန် ကြိုးစားသည်ဆိုပါစို့။
#define new row to append
new_team = ['I', 30]
#append row to DataFrame
df. loc [ len (df)] = new_team
#view updated DataFrame
df
ValueError : cannot set a row with mismatched columns
ကျွန်ုပ်တို့ထည့်သွင်းရန်ကြိုးစားနေသောအတန်းအသစ်တွင် တန်ဖိုးနှစ်ခုသာရှိသော်လည်း ရှိပြီးသား DataFrame တွင် ကော်လံလေးခုပါသောကြောင့် ValueError တစ်ခုရရှိထားပါသည်။
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကိုပြင်ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ DataFrame ၏အဆုံးတွင် လိုင်းအသစ်ကိုထည့်ရန် append() လုပ်ဆောင်ချက်ကို အသုံးပြုပြီး ပျောက်ဆုံးနေသောတန်ဖိုးများကို NaN ဖြင့် အလိုအလျောက်ဖြည့်ပေးမည့်:
အောက်ပါ syntax သည် ဤလုပ်ဆောင်ချက်ကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသသည်-
#define new row to append new = ['J', 30] #append row to end of DataFrame df = df. append ( pd.Series (new,index= df.columns [: len (new)]), ignore_index= True ) #view updated DataFrame df team points assists rebounds 0 to 18 5.0 11.0 1 B 22 7.0 8.0 2 C 19 7.0 10.0 3 D 14 9.0 6.0 4 E 14 12.0 6.0 5 F 11 9.0 5.0 6 G 20 9.0 9.0 7:28 a.m. 4.0 12.0 8 I 22 8.0 9.0 9 D 30 NaN NaN
ကျွန်ုပ်တို့သည် ValueError တစ်စုံတစ်ရာကို လက်ခံရရှိခြင်းမရှိကြောင်းနှင့် လိုင်းအသစ်ကို DataFrame ၏အဆုံးတွင် ထည့်သွင်းထားကြောင်း သတိပြုပါ။
အတန်းအသစ်ရှိ ပျောက်ဆုံးနေသောတန်ဖိုးနှစ်ခုသည် ရိုးရိုး NaN တန်ဖိုးများဖြင့် ပြည့်နေကြောင်းကိုလည်း သတိပြုပါ။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-
ပြုပြင်နည်း- ကော်လံများ ထပ်နေသော်လည်း နောက်ဆက်တွဲကို သတ်မှတ်မထားပါ။
ပြုပြင်နည်း- Object ‘numpy.ndarray’ တွင် ‘append’ attribute မရှိပါ။
ပြင်ဆင်နည်း- scalar တန်ဖိုးများအားလုံးကို အသုံးပြုပါက၊ အညွှန်းတစ်ခုကို ကျော်သွားရန်လိုအပ်သည်။