ဒေတာသိပ္ပံ - ဒေတာပြင်ဆင်ခြင်း။
ဒေတာကို ခွဲခြမ်းစိတ်ဖြာခြင်းမပြုမီ၊ Data Scientist သည် ဒေတာကို ထုတ်ယူပြီး သန့်ရှင်းပြီး တန်ဖိုးရှိအောင် ပြုလုပ်ရပါမည်။
Pandas ဖြင့်ဒေတာကိုထုတ်ယူပြီးဖတ်ပါ။
ဒေတာကိုခွဲခြမ်းစိတ်ဖြာခြင်းမပြုမီ၊ ၎င်းကိုတင်သွင်း / ထုတ်ယူရပါမည်။
အောက်ပါဥပမာတွင်၊ Python ရှိ Pandas ကိုအသုံးပြု၍ ဒေတာတင်သွင်းနည်းကို သင့်အားပြသထားသည်။
read_csv()
ကျန်းမာရေးဒေတာနှင့်အတူ CSV ဖိုင်ကိုတင်သွင်းရန် ကျွန်ုပ်တို့သည် လုပ်ဆောင်ချက်ကို အသုံးပြုသည် -
ဥပမာ
import pandas as pd
health_data = pd.read_csv("data.csv", header=0, sep=",")
print(health_data)
နမူနာရှင်းပြထားပါတယ်။
- Pandas စာကြည့်တိုက်ကို တင်သွင်းပါ။
- ဒေတာဘောင်ကို အမည်
health_data
ပေးပါ။ header=0
မပြောင်းလဲနိုင်သော အမည်များအတွက် ခေါင်းစီးများကို ပထမအတန်းတွင် တွေ့ရှိရမည်ဖြစ်သည် (0 ဆိုသည်မှာ Python တွင် ပထမတန်းကို ဆိုလိုကြောင်း သတိပြုပါ)sep=","
ဆိုလိုသည်မှာ "" ကို တန်ဖိုးများကြား ခြားနားချက်အဖြစ် သုံးသည်။ အကြောင်းမှာ ကျွန်ုပ်တို့သည် ဖိုင်အမျိုးအစား .csv (ကော်မာ ခြားထားသော တန်ဖိုးများ) ကို အသုံးပြုနေခြင်းကြောင့်ဖြစ်သည်။
အကြံပြုချက်- သင့်တွင် ကြီးမားသော CSV ဖိုင်တစ်ခုရှိပါက၊
head()
ထိပ်တန်း 5 တန်းများကိုသာ ပြသရန် လုပ်ဆောင်ချက်ကို သင်အသုံးပြုနိုင်သည်-
ဥပမာ
import pandas as pd
health_data = pd.read_csv("data.csv", header=0, sep=",")
print(health_data.head())
ဒေတာသန့်ရှင်းရေး
တင်သွင်းထားသောဒေတာကိုကြည့်ပါ။ သင်တွေ့မြင်ရသည့်အတိုင်း၊ ဒေတာများသည် မှားယွင်းစွာ သို့မဟုတ် စာရင်းမသွင်းထားသော တန်ဖိုးများဖြင့် "ညစ်ပတ်သည်" ဖြစ်သည်-
- ကွက်လပ်အချို့ရှိသည်။
- ပျမ်းမျှသွေးခုန်နှုန်း 9,000 မဖြစ်နိုင်ပါ။
- 9 000 ကို အာကာသ ခြားနားမှု ကြောင့် ဂဏန်းမဟုတ်သော အဖြစ် သတ်မှတ်ပါမည်။
- max pulse ၏ မှတ်သားချက်တစ်ခုမှာ အဓိပ္ပါယ်မရှိသော "AF" ဟု ရည်ညွှန်းသည်။
ထို့ကြောင့် ခွဲခြမ်းစိတ်ဖြာမှုကို လုပ်ဆောင်ရန်အတွက် ဒေတာများကို သန့်ရှင်းရပါမည်။
အလွတ်တန်းများကို ဖယ်ရှားပါ။
ဂဏန်းမဟုတ်သောတန်ဖိုးများ (9 000 နှင့် AF) များသည် လွဲမှားနေသောတန်ဖိုးများ တူညီသောအတန်းထဲတွင် ရှိနေသည်ကို ကျွန်ုပ်တို့တွေ့မြင်ရပါသည်။
ဖြေရှင်းချက်- ဤပြဿနာကိုဖြေရှင်းရန် လွဲမှားနေသော အကဲခတ်မှုများရှိသည့် အတန်းများကို ကျွန်ုပ်တို့ဖယ်ရှားနိုင်သည်။
Pandas ကို အသုံးပြု၍ ဒေတာအစုံကို ကျွန်ုပ်တို့ တင်သောအခါ၊ အလွတ်ဆဲလ်များအားလုံးသည် "NaN" တန်ဖိုးများအဖြစ် အလိုအလျောက် ပြောင်းလဲသွားပါသည်။
ထို့ကြောင့်၊ NaN ဆဲလ်များကို ဖယ်ရှားခြင်းဖြင့် ခွဲခြမ်းစိတ်ဖြာနိုင်သည့် သန့်ရှင်းသော ဒေတာအတွဲကို ပေးပါသည်။
dropna()
ကျွန်ုပ်တို့သည် NaNs များကိုဖယ်ရှားရန် function ကို သုံးနိုင်သည် ။ axis=0 ဆိုသည်မှာ NaN တန်ဖိုးရှိသော အတန်းအားလုံးကို ဖယ်ရှားလိုသည်ဟု ဆိုလိုသည်-
ဥပမာ
health_data.dropna(axis=0,inplace=True)
print(health_data)
ရလဒ်မှာ NaN အတန်းများမပါဘဲ ဒေတာအစုံဖြစ်သည်-
ဒေတာအမျိုးအစားများ
ဒေတာခွဲခြမ်းစိတ်ဖြာရန်၊ ကျွန်ုပ်တို့နှင့် ဆက်ဆံနေသော ဒေတာအမျိုးအစားများကိုလည်း သိရှိရန် လိုအပ်ပါသည်။
ဒေတာကို အဓိက အမျိုးအစားသုံးမျိုး ခွဲနိုင်သည်။
- ဂဏန်း - ဂဏန်းတန်ဖိုးများ ပါရှိသည်။ အမျိုးအစားနှစ်မျိုး ခွဲခြားနိုင်သည်-
- သီးခြား- နံပါတ်များကို "လုံး" အဖြစ် ရေတွက်သည်။ ဥပမာ- သင်သည် 2.5 စက်ရှင်များကို လေ့ကျင့်ထား၍မရပါ၊ ၎င်းသည် 2 သို့မဟုတ် 3 ဖြစ်သည်။
- အဆက်မပြတ်- နံပါတ်များသည် အကန့်အသတ်မရှိ တိကျနိုင်ပါသည်။ ဥပမာအားဖြင့် သင်သည် 7 နာရီ၊ 30 မိနစ်နှင့် 20 စက္ကန့် သို့မဟုတ် 7.533 နာရီအထိ အိပ်နိုင်သည်။
- အမျိုးအစားအလိုက် - တစ်ခုနှင့်တစ်ခု တိုင်းတာ၍မရသော တန်ဖိုးများ ပါရှိသည်။ ဥပမာ- အရောင် သို့မဟုတ် လေ့ကျင့်မှု အမျိုးအစား
- Ordinal - တစ်ခုနှင့်တစ်ခု တိုင်းတာနိုင်သော အမျိုးအစားအလိုက် အချက်အလက် ပါရှိသည်။ ဥပမာ- A က B ထက် ပိုကောင်းတဲ့ ကျောင်းအဆင့်တွေ စသဖြင့်ပေါ့။
သင့်ဒေတာအမျိုးအစားကို သိခြင်းဖြင့် ၎င်းတို့ကို ခွဲခြမ်းစိတ်ဖြာရာတွင် မည်သည့်နည်းပညာကို အသုံးပြုရမည်ကို သင်သိနိုင်မည်ဖြစ်သည်။
ဒေတာအမျိုးအစားများ
info()
ကျွန်ုပ်တို့၏ဒေတာအစုအတွင်း ဒေတာအမျိုးအစားများကို စာရင်းပြုစုရန် လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ အသုံးပြုနိုင်သည် -
ဥပမာ
print(health_data.info())
ရလဒ်:
ဤဒေတာအတွဲတွင် မတူညီသောဒေတာအမျိုးအစားနှစ်မျိုးရှိသည်ကို ကျွန်ုပ်တို့တွေ့မြင်ရသည်-
- Float64
- အရာဝတ္ထု
ဤနေရာတွင် တွက်ချက်ရန်နှင့် ခွဲခြမ်းစိတ်ဖြာမှုလုပ်ဆောင်ရန် အရာဝတ္ထုများကို ကျွန်ုပ်တို့ အသုံးမပြုနိုင်ပါ။ အမျိုးအစား အရာဝတ္တုအား float64 သို့ ပြောင်းရပါမည်။
astype()
ဒေတာကို float64 အဖြစ်သို့ပြောင်းလဲရန် လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့အသုံးပြုနိုင်ပါသည် ။
အောက်ဖော်ပြပါ ဥပမာသည် "Average_Pulse" နှင့် "Max_Pulse" ကို ဒေတာအမျိုးအစား float64 အဖြစ်သို့ ပြောင်းပေးသည် (အခြားသော ကိန်းရှင်များသည် ဒေတာအမျိုးအစား float64 ဖြစ်နေပါပြီ)။
ဥပမာ
health_data["Average_Pulse"]
= health_data['Average_Pulse'].astype(float)
health_data["Max_Pulse"] =
health_data["Max_Pulse"].astype(float)
print
(health_data.info())
ရလဒ်:
ယခု၊ ဒေတာအစုံတွင် float64 ဒေတာအမျိုးအစားများသာရှိသည်။
Data ကိုခွဲခြမ်းစိတ်ဖြာပါ။
ဒေတာအစုံကို သန့်စင်ပြီးသောအခါ၊ ဒေတာကို စတင်ခွဲခြမ်းစိတ်ဖြာနိုင်ပါသည်။
describe()
ဒေတာအကျဉ်းချုပ်ရန် Python တွင် လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ အသုံးပြုနိုင်သည် -
ဥပမာ
print(health_data.describe())
ရလဒ်:
သင်တန်းကာလ | ပျမ်းမျှ_Pulse | Max_Pulse | ကယ်လိုရီ_လောင်ကျွမ်းမှု | နာရီ_အလုပ် | နာရီ_အိပ်ချိန် | |
---|---|---|---|---|---|---|
ရေတွက်ပါ။ | ၁၀.၀ | ၁၀.၀ | ၁၀.၀ | ၁၀.၀ | ၁၀.၀ | ၁၀.၀ |
ဆိုလိုတာ | ၅၁.၀ | ၁၀၂.၅ | 137.0 | 285.0 | ၆.၆ | ၇.၅ |
Std | ၁၀.၄၉ | ၁၅.၄ | ၁၁း၃၅ | 30.28 | ၃.၆၃ | ၀.၅၃ |
မင်း | 30.0 | 80.0 | ၁၂၀.၀ | 240.0 | ၀.၀ | ၇.၀ |
25% | ၄၅.၀ | ၉၁၊၂၅ | 130.0 | ၂၆၂.၅ | ၇.၀ | ၇.၀ |
50% | ၅၂.၅ | ၁၀၂.၅ | ၁၄၀.၀ | 285.0 | ၈.၀ | ၇.၅ |
75% | 60.0 | ၁၁၃.၇၅ | ၁၄၅.၀ | 307.5 | ၈.၀ | ၈.၀ |
မက် | 60.0 | 125.0 | 150.0 | ၃၃၀.၀ | ၁၀.၀ | ၈.၀ |
- Count - လေ့လာတွေ့ရှိချက်အရေအတွက်ကို ရေတွက်သည်။
- အဓိပ္ပါယ် - ပျမ်းမျှတန်ဖိုး
- Std - စံသွေဖည်မှု (စာရင်းဇယားအခန်းတွင် ရှင်းပြထားသည်)
- Min - အနိမ့်ဆုံးတန်ဖိုး
- 25% ၊ 50% နှင့် 75% တို့သည် ရာခိုင်နှုန်းများဖြစ်သည် (စာရင်းဇယားအခန်းတွင် ရှင်းပြထားသည်)
- Max - အမြင့်ဆုံးတန်ဖိုး