ပြုပြင်နည်း- တန်ဖိုးအမှား- ကိုက်ညီမှုမရှိသော ကော်လံများနှင့် အတန်းတစ်ခုကို သတ်မှတ်၍မရပါ။


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

 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 တန်ဖိုးများအားလုံးကို အသုံးပြုပါက၊ အညွှန်းတစ်ခုကို ကျော်သွားရန်လိုအပ်သည်။

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

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