ပြုပြင်နည်း- အရွယ်အစား 1 ၏ အခင်းအကျင်းများကိုသာ python စကေးလာများအဖြစ် ပြောင်းလဲနိုင်သည်။
Python ကိုအသုံးပြုရာတွင် သင်ကြုံတွေ့ရနိုင်သည့် အမှားတစ်ခုမှာ-
TypeError : only size-1 arrays can be converted to Python scalars
NumPy အခင်းအကျင်းတစ်ခု၏ float တန်ဖိုးများကို ကိန်းပြည့်တန်ဖိုးများ array သို့ပြောင်းလဲရန် np.int() ကို အသုံးပြုသောအခါတွင် ဤအမှားသည် မကြာခဏဖြစ်တတ်ပါသည်။
သို့သော်၊ ဤလုပ်ဆောင်ချက်သည် တန်ဖိုးများ array အစား တန်ဖိုးတစ်ခုတည်းကိုသာ လက်ခံပါသည်။
ယင်းအစား၊ ဤလုပ်ဆောင်ချက်သည် array တစ်ခုကို လက်ခံနိုင်သောကြောင့် ၎င်းအစား၊ သင်သည် NumPy အခင်းအကျင်းတစ်ခု၏ float တန်ဖိုးများကို ကိန်းပြည့်တန်ဖိုးများအဖြစ်သို့ ပြောင်းလဲရန် x.astype(int) ကို အသုံးပြုသင့်သည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့တွင် မည်သို့ပြုပြင်ရမည်ကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
အောက်ဖော်ပြပါ NumPy array ကို float တန်ဖိုးများ ဖန်တီးသည်ဆိုပါစို့။
import numpy as np #create NumPy array of float values x = np. array ([3, 4.5, 6, 7.7, 9.2, 10, 12, 14.1, 15])
ယခု ကျွန်ုပ်တို့သည် ဤ array ၏ float တန်ဖိုးများကို ကိန်းပြည့်တန်ဖိုးများ array တစ်ခုသို့ ပြောင်းရန် ကြိုးစားသည်ဆိုပါစို့။
#attempt to convert array to integer values
n.p. int (x)
TypeError : only size-1 arrays can be converted to Python scalars
အဘယ်ကြောင့်ဆိုသော် np.int() လုပ်ဆောင်ချက်သည် တန်ဖိုးတစ်ခုတည်းကိုသာ လက်ခံသောကြောင့်၊ ကျွန်ုပ်တို့သည် TypeError ကို လက်ခံရရှိပါသည်။
အမှားကိုဘယ်လိုပြင်မလဲ။
Float တန်ဖိုးများ၏ NumPy အခင်းအကျင်းကို ကိန်းပြည့်တန်ဖိုးများအဖြစ် ပြောင်းလဲရန်အတွက်၊ ကျွန်ုပ်တို့သည် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။
#convert array of float values to integer values
x. astype (int)
array([ 3, 4, 6, 7, 9, 10, 12, 14, 15])
တန်ဖိုးများ၏ array သည် integers အဖြစ်သို့ပြောင်းလဲပြီး astype() function သည် တန်ဖိုးများ array ကို ကိုင်တွယ်နိုင်စွမ်းရှိသောကြောင့် ကျွန်ုပ်တို့သည် မည်သည့်အမှားအယွင်းများကိုမှ လက်ခံရရှိခြင်းမရှိကြောင်း သတိပြုပါ။
မှတ်ချက် – astype() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာနိုင်သည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-
Pandas တွင် KeyError ကိုဘယ်လိုပြင်မလဲ။
ပြင်ဆင်နည်း- ValueError- float NaN ကို int အဖြစ်သို့ ပြောင်းလဲ၍မရပါ။
ပြုပြင်နည်း- တန်ဖိုးအမှား- Operands များကို ပုံသဏ္ဍာန်များဖြင့် ထုတ်လွှင့်၍မရပါ။