ပြုပြင်နည်း- 'numpy.float64' အရာဝတ္တုကို int အဖြစ် အဓိပ္ပာယ်မဖွင့်နိုင်ပါ။
NumPy ကိုအသုံးပြုရာတွင် သင်ကြုံတွေ့ရသော အမှားတစ်ခုမှာ-
TypeError : 'numpy.float64' object cannot be interpreted as an integer
ကိန်းပြည့်ကိုမျှော်လင့်ထားသည့် လုပ်ဆောင်ချက်တစ်ခုသို့ သင် float ကို ပေးသောအခါတွင် ဤအမှားဖြစ်ပေါ်ပါသည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
မတူညီသော နံပါတ်များကို NumPy array တစ်ခုသို့ print ထုတ်ရန် အောက်ဖော်ပြပါ ကွက်လပ်ကို အသုံးပြုရန် ကြိုးစားသည်ဆိုပါစို့။
import numpy as np #define array of values data = np. array ([3.3, 4.2, 5.1, 7.7, 10.8, 11.4]) #use for loop to print out range of values at each index for i in range(len(data)): print (range(data[i])) TypeError : 'numpy.float64' object cannot be interpreted as an integer
range() လုပ်ဆောင်ချက်သည် ကိန်းပြည့်ကို မျှော်လင့်ထားသော်လည်း NumPy အခင်းအကျင်းရှိ တန်ဖိုးများသည် float ဖြစ်နေသောကြောင့် ကျွန်ုပ်တို့သည် အမှားအယွင်းတစ်ခု ရရှိခဲ့ပါသည်။
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကို အမြန်ဖြေရှင်းရန် နည်းလမ်းနှစ်ခုရှိသည်။
နည်းလမ်း 1- int() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
ဤ error ကို ပြုပြင်ရန် နည်းလမ်း တစ်ခု မှာ အောက်ပါ အတိုင်း int() ဖြင့် ခေါ်ဆိုမှုကို ရိုးရှင်းစွာ ထုပ်ပိုး ရန် ဖြစ်ပါသည်။
import numpy as np #define array of values data = np. array ([3.3, 4.2, 5.1, 7.7, 10.8, 11.4]) #use for loop to print out range of values at each index for i in range(len(data)): print (range(int(data[i]))) range(0, 3) range(0, 4) range(0, 5) range(0, 7) range(0, 10) range(0, 11)
int() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကျွန်ုပ်တို့သည် စောစောကကြုံတွေ့ခဲ့ရသော TypeError ကို ရှောင်ရှားရန်အတွက် NumPy အခင်းအကျင်းရှိ float တန်ဖိုးတစ်ခုစီကို ကိန်းပြည့်အဖြစ်သို့ ပြောင်းပေးပါသည်။
နည်းလမ်း 2- .astype(int) လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
ဤအမှားကိုပြင်ရန်နောက်ထပ်နည်းလမ်းမှာ NumPy အခင်းအကျင်းတန်ဖိုးများကို ကိန်းပြည့်အဖြစ်သို့ ဦးစွာပြောင်းရန်ဖြစ်သည်။
import numpy as np #define array of values data = np. array ([3.3, 4.2, 5.1, 7.7, 10.8, 11.4]) #convert array of floats to array of integers data_int = data. astype (int) #use for loop to print out range of values at each index for i in range(len(data)): print (range(data[i])) range(0, 3) range(0, 4) range(0, 5) range(0, 7) range(0, 10) range(0, 11)
ဤနည်းလမ်းကိုအသုံးပြုခြင်းဖြင့် ကျွန်ုပ်တို့သည် TypeError ကို ထပ်မံရှောင်ရှားပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-
Pandas တွင် KeyError ကိုဘယ်လိုပြင်မလဲ။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int အဖြစ်သို့ ပြောင်းလဲ၍မရပါ။
ပြုပြင်နည်း- တန်ဖိုးအမှား- Operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။