Pandas တွင် ပြုပြင်နည်း- string ကို float အဖြစ်ပြောင်း၍မရပါ။
ပန်ဒါများကို အသုံးပြုသောအခါတွင် တွေ့ရလေ့ရှိသော အမှားတစ်ခုမှာ-
ValueError : could not convert string to float: '$400.42'
စာကြောင်းတွင် အောက်ပါတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော စာသားတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ပန်ဒါများတွင် မျှောနေစေရန် ကြိုးတစ်ချောင်းကို ပြောင်းလဲရန် ကြိုးစားသောအခါတွင် ဤအမှားသည် ပုံမှန်အားဖြင့် ဖြစ်ပေါ်တတ်သည်-
- ပေ့
- ကော်မာ
- အထူးဇာတ်ကောင်များ
ဒီလိုဖြစ်လာတဲ့အခါ၊ float အဖြစ်မပြောင်းခင် ဒီစာလုံးတွေကို string ကနေ အရင်ဖယ်ရှားရပါမယ်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤအမှားကို လက်တွေ့ဖြေရှင်းနည်းကို ပြသထားသည်။
အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။
ကျွန်ုပ်တို့တွင် အောက်ပါ ပန်ဒါ DataFrame ရှိသည် ဆိုပါစို့။
import pandas as pd #createDataFrame df = pd. DataFrame ({' store ': ['A', 'B', 'C', 'D'], ' revenue ': ['$400.42', '$100.18', '$243.75', '$194.22']}) #view DataFrame print (df) store revenue 0 A $400.42 1 B $100.18 2 C $243.75 3D $194.22 #view data type of each column print ( df.dtypes ) store object revenue object dtype:object
ယခု ကျွန်ုပ်တို့သည် ဝင်ငွေ ကော်လံကို စာကြောင်းတစ်ခုမှ မျှော့တစ်ခုအဖြစ်သို့ ပြောင်းရန် ကြိုးစားနေသည်ဆိုပါစို့။
#attempt to convert 'revenue' from string to float
df[' revenue '] = df[' revenue ']. astype (float)
ValueError : could not convert string to float: '$400.42'
ဝင်ငွေ ကော်လံတွင် strings များတွင် ဒေါ်လာလက်မှတ်ပါရှိသောကြောင့် ကျွန်ုပ်တို့သည် အမှားအယွင်းတစ်ခုကို လက်ခံရရှိနေပါသည်။
အမှားကိုဘယ်လိုပြင်မလဲ။
ဤအမှားကိုဖြေရှင်းရန်နည်းလမ်းမှာ ပြောင်းလဲခြင်းမလုပ်ဆောင်မီ ဝင်ငွေ ကော်လံရှိ ဒေါ်လာသင်္ကေတများကို အစားထိုးရန်အတွက် replace() လုပ်ဆောင်ချက်ကို အသုံးပြုရန်ဖြစ်သည်-
#convert revenue column to float
df[' revenue '] = df[' revenue ']. apply ( lambda x: float(x. split ()[ 0 ]. replace (' $ ', '')))
#view updated DataFrame
print (df)
store revenue
0 to 400.42
1 B 100.18
2 C 243.75
3 D 194.22
#view data type of each column
print ( df.dtypes )
store object
income float64
dtype:object
ကျွန်ုပ်တို့သည် ဝင်ငွေ ကော်လံကို string တစ်ခုမှ float အဖြစ်သို့ ပြောင်းလဲနိုင်ခဲ့ပြီး ပြောင်းလဲခြင်းမလုပ်ဆောင်မီ ဒေါ်လာငွေသင်္ကေတများကို ဖယ်ရှားလိုက်သောကြောင့် ကျွန်ုပ်တို့သည် အမှားအယွင်းများကို လက်ခံရရှိခြင်းမရှိကြောင်း သတိပြုပါ။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် Python ရှိ အခြားသော ဘုံအမှားများကို မည်သို့ပြင်ဆင်ရမည်ကို ရှင်းပြသည်-
Python တွင် ပြင်နည်း- Object ‘numpy.ndarray’ ကို ခေါ်ဆို၍မရပါ။
ပြုပြင်နည်း- TypeError- Object ‘numpy.float64’ ကို ခေါ်ဆို၍မရပါ။
ပြင်နည်း- အမှားအမျိုးအစား- မျှော်လင့်ထားသော စာကြောင်း သို့မဟုတ် ဘိုက်အရာဝတ္ထု