ပြုပြင်နည်း- typeerror- ပြောင်းလွယ်ပြင်လွယ် အမျိုးအစားဖြင့် လျှော့ချ၍မရပါ။


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

 ValueError : cannot perform reduce with flexible type

ဂဏန်းမဟုတ်သော Python ရှိ အရာဝတ္ထုတစ်ခုကို တွက်ချက်ရန် ကြိုးပမ်းသောအခါ ဤအမှားသည် ဖြစ်ပေါ်လာပါသည်။

အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။

အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။

ကျွန်ုပ်တို့တွင် အောက်ပါ NumPy array ရှိသည်ဆိုပါစို့။

 import numpy as np

#define NumPy array of values
data = np. array (['1', '2', '3', '4', '7', '9', '10', '12'])

#attempt to calculate median of values
n.p. median (data)

TypeError : cannot perform reduce with flexible type

string တန်ဖိုးများစာရင်း၏ အလယ်အလတ်ကို တွက်ချက်ရန် ကြိုးစားသောကြောင့် TypeError တစ်ခု လက်ခံရရှိနေပါသည်။

အမှားကိုဘယ်လိုပြင်မလဲ။

ဤအမှားကို ပြင်ဆင်ရန် အလွယ်ကူဆုံးနည်းလမ်းမှာ NumPy array ကို float object တစ်ခုအဖြစ်သို့ ပြောင်းရန်ဖြစ်ပြီး ၎င်းတွင် သင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်စေရန် ဖြစ်သည်။

အောက်ပါကုဒ်သည် ၎င်းကိုပြုလုပ်နည်းကို ပြသသည်-

 #convert NumPy array of string values to float values
data_new = data. astype (float)

#view updated NumPy array
data_new

array([ 1., 2., 3., 4., 7., 9., 10., 12.])

#check data type of array
data_new. dtype

dtype('float64')

ယခု ကျွန်ုပ်တို့သည် NumPy array တွင် သင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်သည်-

 #calculate median value of array
n.p. median (data_new)

5.5

#calculate mean value of array
n.p. mean (data_new)

6.0

#calculate max value of array
n.p. max (data_new)

12.0

NumPy array သည် float object တစ်ခုဖြစ်သောကြောင့် ၎င်းတွင် သင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်နိုင်သည်ဟု သတိပြုပါ။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-

Pandas တွင် KeyError ကိုဘယ်လိုပြင်မလဲ။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int အဖြစ်သို့ ပြောင်းလဲ၍မရပါ။
ပြုပြင်နည်း- တန်ဖိုးအမှား- Operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။

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

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