ပြုပြင်နည်း- 'numpy.float64' အရာဝတ္ထုသည် အစိတ်အပိုင်းတာဝန်ကို မပံ့ပိုးပါ။


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

 TypeError: 'numpy.float64' object does not support item assignment

float64 အမျိုးအစားပါရှိသော NumPy variable တစ်ခုသို့ တန်ဖိုးအသစ်တစ်ခုသတ်မှတ်ရန် စတုရန်းကွင်းခတ်များကို အသုံးပြုသောအခါတွင် ဤအမှားသည် များသောအားဖြင့် ဖြစ်ပေါ်တတ်သည်။

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

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

ကျွန်ုပ်တို့သည် တန်ဖိုး 15.22 ရှိသော NumPy variable တစ်ခုကို ဖန်တီးပြီး ၎င်းကို 13.7 ၏တန်ဖိုးအသစ်တစ်ခုပေးရန် ကွင်းကွင်းကိုအသုံးပြုရန် ကြိုးစားသည်ဆိုကြပါစို့။

 import numpy as np

#define some float value
one_float = np. float64 (15.22)

#attempt to modify float value to be 13.7
one_float[0] = 13.7

TypeError: 'numpy.float64' object does not support item assignment

အရာဝတ္တု ‘numpy.float64’ သည် ဒြပ်စင်တာဝန်ကို မပံ့ပိုးပေးသည့် အမှားကို ကျွန်ုပ်တို့ လက်ခံရရှိပါသည်။

one_float သည် scalar တစ်ခုဖြစ်သောကြောင့် ကျွန်ုပ်တို့ လက်ခံရရှိသော်လည်း ၎င်းကို အညွှန်းအနေအထား 0 တွင် တန်ဖိုးမွမ်းမံရန်အတွက် စတုရန်းကွင်းစကွက်များကို အသုံးပြုနိုင်သည့် အခင်းအကျင်းတစ်ခုအဖြစ် ကျွန်ုပ်တို့ကြိုးစားခဲ့သည်။

one_float သည် array တစ်ခုမဟုတ်သောကြောင့်၊ ၎င်း၏တန်ဖိုးကိုမွမ်းမံရန်ကြိုးစားသောအခါတွင် စတုရန်းကွင်းကွင်းများကို ကျွန်ုပ်တို့အသုံးမပြုနိုင်ပါ။

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

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

 #modify float value to be 13.7
one_float = 13.7

#view float
print (one_float)

13.7

ကွင်းစဥ်များကို အသုံးမပြုသောကြောင့် တန်ဖိုး 15.22 မှ 13.7 သို့ ပြောင်းလဲနိုင်ခဲ့သည်။

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

ဥပမာအားဖြင့်၊ အောက်ဖော်ပြပါကုဒ်သည် NumPy အခင်းအကျင်းတစ်ခု၏ ပထမဒြပ်စင်ကို ကွင်းဆက်အမှတ်အသားကို အသုံးပြု၍ 15.22 မှ 13.7 သို့ ပြောင်းလဲနည်းကို ပြသသည်-

 import numpy as np

#define a NumPy array of floats
many_floats = np. float64 ([15.22, 34.2, 15.4, 13.2, 33.4])

#modify float value in first index position of array to be 13.7
many_floats[0] = 13.7

#view updated array
print (many_floats)

[13.7 34.2 15.4 13.2 33.4]

ကျွန်ုပ်တို့သည် NumPy အခင်းအကျင်းတစ်ခုဖြင့် လုပ်ဆောင်နေသောကြောင့် ဤတစ်ကြိမ်တွင်လည်း အမှားအယွင်းတစ်ခုမရရှိသည့်အတွက်ကြောင့် ကွင်းစဥ်များကို အသုံးပြုခြင်းသည် အဓိပ္ပာယ်ရှိလှပါသည်။

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

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

Python တွင် ပြင်နည်း- Object ‘numpy.ndarray’ ကို ခေါ်ဆို၍မရပါ။
ပြုပြင်နည်း- TypeError- Object ‘numpy.float64’ ကို ခေါ်ဆို၍မရပါ။
ပြင်နည်း- အမှားအမျိုးအစား- မျှော်လင့်ထားသော စာကြောင်း သို့မဟုတ် ဘိုက်အရာဝတ္ထု

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

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