ဒေတာသိပ္ပံ - ဒေတာပြင်ဆင်ခြင်း။


ဒေတာကို ခွဲခြမ်းစိတ်ဖြာခြင်းမပြုမီ၊ 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 အတန်းများမပါဘဲ ဒေတာအစုံဖြစ်သည်-

ဒေတာကို သန့်စင်ထားသည်။

ဒေတာအမျိုးအစားများ

ဒေတာခွဲခြမ်းစိတ်ဖြာရန်၊ ကျွန်ုပ်တို့နှင့် ဆက်ဆံနေသော ဒေတာအမျိုးအစားများကိုလည်း သိရှိရန် လိုအပ်ပါသည်။

ဒေတာကို အဓိက အမျိုးအစားသုံးမျိုး ခွဲနိုင်သည်။

  1. ဂဏန်း - ဂဏန်းတန်ဖိုးများ ပါရှိသည်။ အမျိုးအစားနှစ်မျိုး ခွဲခြားနိုင်သည်-
    • သီးခြား- နံပါတ်များကို "လုံး" အဖြစ် ရေတွက်သည်။ ဥပမာ- သင်သည် 2.5 စက်ရှင်များကို လေ့ကျင့်ထား၍မရပါ၊ ၎င်းသည် 2 သို့မဟုတ် 3 ဖြစ်သည်။
    • အဆက်မပြတ်- နံပါတ်များသည် အကန့်အသတ်မရှိ တိကျနိုင်ပါသည်။ ဥပမာအားဖြင့် သင်သည် 7 နာရီ၊ 30 မိနစ်နှင့် 20 စက္ကန့် သို့မဟုတ် 7.533 နာရီအထိ အိပ်နိုင်သည်။
  2. အမျိုးအစားအလိုက် - တစ်ခုနှင့်တစ်ခု တိုင်းတာ၍မရသော တန်ဖိုးများ ပါရှိသည်။ ဥပမာ- အရောင် သို့မဟုတ် လေ့ကျင့်မှု အမျိုးအစား
  3. Ordinal - တစ်ခုနှင့်တစ်ခု တိုင်းတာနိုင်သော အမျိုးအစားအလိုက် အချက်အလက် ပါရှိသည်။ ဥပမာ- A က B ထက် ပိုကောင်းတဲ့ ကျောင်းအဆင့်တွေ စသဖြင့်ပေါ့။

သင့်ဒေတာအမျိုးအစားကို သိခြင်းဖြင့် ၎င်းတို့ကို ခွဲခြမ်းစိတ်ဖြာရာတွင် မည်သည့်နည်းပညာကို အသုံးပြုရမည်ကို သင်သိနိုင်မည်ဖြစ်သည်။


ဒေတာအမျိုးအစားများ

info()ကျွန်ုပ်တို့၏ဒေတာအစုအတွင်း ဒေတာအမျိုးအစားများကို စာရင်းပြုစုရန် လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့  အသုံးပြုနိုင်သည် -

ဥပမာ

print(health_data.info())

ရလဒ်:

ဒေတာအမျိုးအစား float နှင့် object

ဤဒေတာအတွဲတွင် မတူညီသောဒေတာအမျိုးအစားနှစ်မျိုးရှိသည်ကို ကျွန်ုပ်တို့တွေ့မြင်ရသည်-

  • 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())

ရလဒ်:

ဒေတာအမျိုးအစား float

ယခု၊ ဒေတာအစုံတွင် 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 - အမြင့်ဆုံးတန်ဖိုး