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’ ကို ခေါ်ဆို၍မရပါ။
ပြင်နည်း- အမှားအမျိုးအစား- မျှော်လင့်ထားသော စာကြောင်း သို့မဟုတ် ဘိုက်အရာဝတ္ထု

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

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