Pandas - အချည်းနှီးသောဆဲလ်များကို သန့်ရှင်းရေးလုပ်ခြင်း ။
ဗလာဆဲလ်များ
ဒေတာများကို ခွဲခြမ်းစိတ်ဖြာသောအခါတွင် ဆဲလ်အလွတ်များသည် သင့်အား မှားယွင်းသော ရလဒ်တစ်ခု ပေးနိုင်သည် ။
အတန်းများကို ဖယ်ရှားပါ။
အလွတ်ဆဲလ်များကို ကိုင်တွယ်ဖြေရှင်းရန် နည်းလမ်းတစ်ခုမှာ ဆဲလ်အလွတ်များပါရှိသော အတန်းများကို ဖယ်ရှားရန်ဖြစ်သည်။
ဒေတာအစုံများသည် အလွန်ကြီးမားနိုင်ပြီး အတန်းအနည်းငယ်ကို ဖယ်ရှားခြင်းကြောင့် ရလဒ်အပေါ် ကြီးကြီးမားမား သက်ရောက်မှုရှိမည်မဟုတ်သောကြောင့် ၎င်းသည် ပုံမှန်အားဖြင့် အိုကေပါသည်။
ဥပမာ
ဆဲလ်အလွတ်မရှိသော ဒေတာဘောင်အသစ်ကို ပြန်ပေးပါ။
import pandas as pd
df = pd.read_csv('data.csv')
new_df = df.dropna()
print(new_df.to_string())
ကျွန်ုပ်တို့၏ ရှင်းလင်းရေးနမူနာများတွင် 'dirtydata.csv' ဟုခေါ်သော CSV ဖိုင်ကို အသုံးပြုပါမည်။
dirtydata.csv ကို ဒေါင်းလုဒ်လုပ်ပါ ။ သို့မဟုတ် dirtydata.csv ကိုဖွင့်ပါ။
မှတ်ချက်- မူရင်းအားဖြင့်၊ dropna()
နည်းလမ်းသည် DataFrame အသစ်ကို ပြန် ပေးမည်ဖြစ်ပြီး မူရင်းကို ပြောင်းလဲမည်မဟုတ်ပါ။
မူရင်း DataFrame ကို ပြောင်းလဲလိုပါက၊ အကြောင်းပြချက်ကို အသုံးပြုပါ
inplace = True
-
ဥပမာ
NULL တန်ဖိုးများဖြင့် အတန်းအားလုံးကို ဖယ်ရှားပါ-
import pandas as pd
df = pd.read_csv('data.csv')
df.dropna(inplace = True)
print(df.to_string())
မှတ်ချက်- ယခု၊ dropna(inplace = True)
DataFrame အသစ်ကို ပြန်ပေးမည်မဟုတ်သော်လည်း၊ မူလ DataFrame မှ NULL တန်ဖိုးများပါရှိသော အတန်းအားလုံးကို ဖယ်ရှားပါမည်။
ဗလာတန်ဖိုးများကို အစားထိုးပါ။
ဆဲလ်အလွတ်များနှင့် ဆက်ဆံရာတွင် အခြားနည်းလမ်းမှာ ၎င်း အစား တန်ဖိုး အသစ်တစ်ခု ကို ထည့်သွင်းခြင်းဖြစ်သည်။
ဤနည်းဖြင့် သင်သည် ဆဲလ်အလွတ်အချို့ကြောင့် အတန်းတစ်ခုလုံးကို ဖျက်ရန် မလိုအပ်ပါ။
fillna()
နည်းလမ်းသည် ကျွန်ုပ်တို့အား ဆဲလ်အလွတ်များကို တန်ဖိုးတစ်ခုဖြင့် အစားထိုးနိုင်စေသည် -
ဥပမာ
NULL တန်ဖိုးများကို နံပါတ် 130 ဖြင့် အစားထိုးပါ-
import pandas as pd
df = pd.read_csv('data.csv')
df.fillna(130, inplace = True)
သတ်မှတ်ထားသော ကော်လံများအတွက်သာ အစားထိုးပါ။
အထက်ဖော်ပြပါ ဥပမာသည် Data Frame တစ်ခုလုံးရှိ ဆဲလ်အလွတ်အားလုံးကို အစားထိုးသည်။
ကော်လံတစ်ခုအတွက် ဗလာတန်ဖိုးများကိုသာ အစားထိုးရန်အတွက် DataFrame အတွက် ကော်လံအမည်ကို သတ်မှတ်ပါ-
ဥပမာ
"ကယ်လိုရီများ" ကော်လံများတွင် NULL တန်ဖိုးများကို နံပါတ် 130 ဖြင့် အစားထိုးပါ-
import pandas as pd
df = pd.read_csv('data.csv')
df["Calories"].fillna(130, inplace = True)
လက်မှတ်ရယူပါ။
$10 စာရင်းသွင်းပါ။
Mean၊ Median သို့မဟုတ် Mode ကိုအသုံးပြု၍ အစားထိုးပါ။
ဆဲလ်အလွတ်များကို အစားထိုးရန် ဘုံနည်းလမ်းမှာ ကော်လံ၏ပျမ်းမျှ၊ ပျမ်းမျှ သို့မဟုတ် မုဒ်တန်ဖိုးကို တွက်ချက်ရန်ဖြစ်သည်။
Pandas သည် သတ်မှတ်ထားသော ကော်လံတစ်ခုအတွက် သက်ဆိုင်ရာတန်ဖိုးများကို တွက်ချက်ရန် နည်းလမ်းများကို mean()
median()
အသုံးပြု သည်-mode()
ဥပမာ
MEAN ကို တွက်ချက်ပြီး အလွတ်တန်ဖိုးများကို ၎င်းနှင့် အစားထိုးပါ-
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mean()
df["Calories"].fillna(x, inplace = True)
ပျမ်းမျှ = ပျမ်းမျှတန်ဖိုး (တန်ဖိုးများအားလုံး၏ ပေါင်းလဒ်)
ဥပမာ
MEDIAN ကို တွက်ချက်ပြီး ဗလာတန်ဖိုးများကို ၎င်းနှင့် အစားထိုးပါ-
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].median()
df["Calories"].fillna(x, inplace = True)
အလယ်အလတ် = တန်ဖိုးများ အားလုံးကို စီခွဲပြီးနောက် အလယ်မှ တန်ဖိုး။
ဥပမာ
MODE ကို တွက်ချက်ပြီး အလွတ်တန်ဖိုးများကို ၎င်းနှင့် အစားထိုးပါ။
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace = True)
မုဒ် = မကြာခဏပေါ်လာသော တန်ဖိုး။