|
|
4 weeks ago | |
|---|---|---|
| .. | ||
| R | 12 months ago | |
| README.md | 4 weeks ago | |
| assignment.md | 7 months ago | |
| notebook-covidspread.ipynb | 4 weeks ago | |
| notebook-papers.ipynb | 12 months ago | |
| notebook.ipynb | 12 months ago | |
README.md
ဒေတာနှင့်အလုပ်လုပ်ခြင်း - Python နှင့် Pandas ကိုင်တွယ်မှု
![]() |
|---|
| Python နှင့်အလုပ်လုပ်ခြင်း - Sketchnote by @nitya |
ဒေတာဘေ့စ်များသည် ဒေတာသိမ်းဆည်းခြင်းနှင့် မေးခွန်းမေးခြင်းအတွက် တော်တော်လေး အကျိုးရှိစေသော်လည်း၊ ဒေတာကို လွှဲပြောင်းထိန်းချုပ်ရာတွင် အ flexibel ပိုကောင်းသောနည်းလမ်းမှာ ကိုယ့်ကိုယ်ကို ကျွန်ုပ်ရေးသော အစီအစဉ်ဖြင့် ဆောင်ရွက်ခြင်းဖြစ်သည်။ အများအားဖြင့် ဒေတာဘေ့စ်မေးခွန်း ကျူးသန်းခြင်းသည် ထိရောက်မှုပိုများနိုင်သော်လည်း၊ တချို့သော မြောက်မြားပြီး ပြင်းထန်သော ဒေတာလုပ်ငန်းများအတွက် SQL ဖြင့် လွယ်ကူစွာ မပြုလုပ်နိုင်ပါ။ ဒေတာလုပ်ငန်းကို ဘာသာစကားတစ်ခုနဲ့မဆို ပရိုဂရမ်ရေးနိုင်သော်လည်း၊ ဒေတာနှင့် ဆက်စပ်၍ အဆင့်မြင့်အတန်းရှိသော ဘာသာစကားများ ရှိပါသည်။ ဒေတာ သိပ္ပံပညာရှင်များမှာ အောက်ပါ ဘာသာစကားများကို မကြာခဏ အသုံးပြုကြသည်။
- Python သည် ယေဘုယျရည်ရွယ်ချက်ပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်ပြီး စတင်လေ့လာသူများအတွက် ရိုးရှင်းသောကြောင့် အကောင်းဆုံးရွေးချယ်မှုများထဲမှ တစ်ခုအဖြစ် ယုံကြည်ခံစားကြသည်။ Python တွင် ZIP archive မှ ဒေတာထုတ်ထွင်းခြင်း၊ ဓာတ်ပုံကို အမည်းစင်အဖြူပြောင်းခြင်းကဲ့သို့ နေရာတိုင်းတွင် ကူညီပေးနိုင်သော အပိုဘိုင်(လိုင်း)များစွာ ရှိသည်။ ဒေတာသိပ္ပံမှ ထက်သာ ပင်၊ Python ကို ဝက်ဘ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်လည်း မကြာခဏ အသုံးပြုကြသည်။
- R သည် စိတ်ဇယားနှင့် ဒေတာဝင်ပြောင်း\တုံ့ပြန်မှု ရည်ရွယ်ထားသော ရိုးရာ ကိရိယာအသုံးပြုမှုတစ်ခုဖြစ်သည်။ CRAN အပါအဝင် ဘိုင်(လိုင်း)စုစည်းမှုများ ရှိသောကြောင့် ဒေတာလုပ်ငန်းများအတွက် ကောင်းမွန်သောရွေးချယ်မှု ဖြစ်ပေါ်သည်။ သို့သော် R သည် ယေဘုယျ ရည်ရွယ်ချက်ပရိုဂရမ်ဘာသာစကားမဟုတ်ပါ၊ ဒေတာသိပ္ပံနယ်ပယ်အပြင်တွင် မကြာခဏ အသုံးမပြုကြပါ။
- Julia သည် ဒေတာသိပ္ပံအတွက် အထူးမိတ်ဆက် ပရိုဂရမ်ဘာသာစကားတစ်ခုဖြစ်ပြီး Python ထက် မြန်ဆန်သော ရလဒ်ပေးရန် ရည်ရွယ်သည်၊ သဘာဝဗေဒ အတွေ့အကြုံများအတွက် အကောင်းဆုံး ကိရိယာတစ်ခုဖြစ်သည်။
ဒီသင်ခန်းစာတွင် Python ကို သုံးပြီး ရိုးရှင်းသော ဒေတာလုပ်ငန်းများအပေါ် အာရုံစိုက်မည်။ Python ဘာသာစကားအခြေခံကို ပြောဆိုထားသည်ဟု ထင်ဆသည်။ Python ကို ပိုမိုကျယ်ပြန့်စွာ လေ့လာလိုပါက အောက်ပါ အရင်းအမြစ်များထဲမှ တစ်ခုကို ကိုးကားနိုင်ပါသည်။
- Turtle Graphics နှင့် Fractals ဖြင့် Python ကို ပျော်ရွှင်စွာ လေ့လာခြင်း - GitHub တွင် ရှိသော Python Programming အား အားလုံးအတွက် အမြန်သင်ခန်းစာ
- Python နှင့် သင်၏ ပထမခြေလှမ်းများ Microsoft Learn တွင် သင်ယူရန် များ
ဒေတာသည် မတူညီသော အမျိုးအစားများဖြစ်နိုင်သည်။ ဒီသင်ခန်းစာတွင် ဒေတာအမျိုးအစား သုံးမျိုးကို သုံးသွားပါမည် - ဇယားသွန်း ဒေတာ, စာသားများ နှင့် ပုံများ။
ကျွန်ုပ်တို့သည် သက်ဆိုင်ရာ ဘိုင်(လိုင်း)အားလုံးကို မဖော်ပြပဲ ဒေတာလုပ်ငန်း ရိုးရိုးပဲ လုပ်ဆောင်ချက်များကို ပြသပေးသွားမည်။ ၎င်းက သင်ဘယ်လို ရနိုင်မယ်ဆိုတာ အဓိက အကြံပြုချက်ကို ပေးကာ မလိုအပ်သောအချိန်များတွင် ပြဿနာဖြေရှင်းနည်းများကို ဘယ်နေရာမှ ရနိုင်မည်ကို သဘောပေါက်စေပါသည်။
အထောက်အကူဖြစ်စေသော အကြံပြုချက်။ မသိသေးသော ဒေတာဆောင်ရွက်မှု တစ်ခုကို လုပ်ဖို့ လိုသည်ဆိုလျှင် အင်တာနက်တွင် ရှာဖွေရန် ကြိုးစားပါ။ Stackoverflow တွင် Python အတွက် အများသောအားဖြင့် အသုံးဝင်သောကုဒ်နမူနာများ စုစည်းထားသည်။
သင်ခန်းစာမတိုင်မီ စစ်ဆေးချက်
ဇယားသွန်း ဒေတာနှင့် Dataframes
သင်သည် ရေးရာ ဒေတာဘေ့စ်များအကြောင်း စကားပြောသောအချိန် ဇယားသွန်းဒေတာများနှင့် ရင်းနှီးပြီးဖြစ်သည်။ ဒေတာများ အများပြား ရှိ၍ အများသောအားဖြင့် သက်ဆိုင်ရာ ဇယားများတွင် ပါဝင်သည့်အခါ၊ SQL ကို အသုံးပြု၍ ဆောင်ရွက်ခြင်း သက်ဆိုင်ပါသည်။ သို့သော် ဒီဇယား အလုပ်လုပ်ရာတွင် ဒေတာ၏ နားလည်မှု သို့မဟုတ် သဘောပေါက်မှုများ ရရှိရန် လိုအပ်သောအချိန်တွင်၊ ဥပမာ - သတင်းစုံရောနှောမှုများ၊ တန်ဖိုးများအကြား ဆက်စပ်မှု စသည်တို့။ ဒေတာသိပ္ပံတွင် သည်လို ကိစ္စများ များများရှိပြီး မူလဒေတာကို ပြောင်းလဲပြင်ဆင်ပြီး မြင်ကွင်းဖော်ပြချက် ပြုလုပ်ရန် ဖြစ်သည်။ အဲဒီ နှစ်ခုလုံးကို Python ဖြင့် လွယ်ကူစွာ ပြုလုပ်နိုင်ပါသည်။
Python တွင် ဇယားသွန်းဒေတာကို ကိုင်တွယ်ရာတွင် အသုံးဝင်သော ဘိုင်(လိုင်း)နှစ်ခု ရှိသည်။
- Pandas သည် “Dataframes” ဟုခေါ်သော အရာများကို စီမံနိုင်သည်၊ ၎င်းသည်ရေးရာ ဇယားများနှင့် ဆင်တူပါသည်။ ကော်လံများကို အမည်ပေးနိုင်ပြီး၊ ကော်လံ၊ တန်းများနှင့် Dataframes အားလုံးတွင် လုပ်ဆောင်ချက်များပြုလုပ်နိုင်သည်။
- Numpy သည် “tensors” သို့မဟုတ် multi-dimensional arrays ကို ကိုင်တွယ်ရန် အသုံးပြုသော ဘိုင်(လိုင်း)ဖြစ်သည်။ Array တွင် တန်ဖိုးများသည် အမျိုးအစားတူညီပြီး၊ Dataframe ထက် ငယ်သော်လည်း သင့်လျော်သော သတ်မှတ်ချက်များနှင့် ထိုက်တန်သော သင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက်များကို ပေးသည်။
ထို့အပြင် သင်သိသင့်တဲ့ ဘိုင်(လိုင်း)အခြားအနည်းငယ်ရှိသည်။
- Matplotlib သည် ဒေတာမျှဝေပုံဖော်နှင့် ဂရပ်ကိုဖော်ဆောင်ရာ သုံးသည်။
- SciPy သည် သိပ္ပံဆိုင်ရာ လုပ်ဆောင်ချက်များဖြည့်စွမ်းသော ဘိုင်(လိုင်း)ဖြစ်ပါသည်။ ကျွန်ုပ်တို့သည် သင်ခန်းစာ probability နှင့် statistics တွင်လည်း စကားပြောခဲ့ ဖြစ်သည်။
အောက်တွင် Python အစီအစဉ်အစမှာ မကြာခဏ စတင်သုံးသော ဘိုင်(လိုင်း)များကို ကိုယ်တို့ import လုပ်မည့်ကုဒ် ဧရိယာကို ဖော်ပြထားပါသည်။
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import ... # သင်လိုအပ်သော တိကျသော အတွင်းအပိုဒ်များကို ဖြည့်သွင်းရန် လိုအပ်သည်။
Pandas သည် အခြေခံအကြောင်းအရာများအပေါ် အခြေခံထားသည်။
Series
Series သည် တန်ဖိုးစဉ်တန်းတစ်ခု ဖြစ်ပြီး list သို့မဟုတ် numpy array နှင့်ဆင်တူသည်။ အဓိက ကြားနားချက်မှာ series တွင် index ရှိပြီး၊ series တွေကို ဆက်စပ်လုပ်ဆောင်တဲ့အခါ (ဥပမာ စုပေါင်းခြင်း) index ကို ထည့်သွင်းစဉ်းစားသည်။ index သည် ကိန်းဂဏန်းတန်းနံပါတ် အလွယ်တကူရှိနိုင်ပြီး (list/array ကနေ series ဖန်တီးတဲ့အခါ default ဖြစ်သည်) ဒါမှမဟုတ် ရက်သတ္တပတ်ကာလ စသည်ဖြင့် ရှုပ်ထွေးသော ဖွဲ့စည်းပုံရှိနိုင်သည်။
မှတ်ချက်: notebook ipynb တွင် Pandas အခြေခံကုဒ်တစ်ချို့ ပါသည်။ ဒီမှာ ဥပမာအနည်းငယ် ပြသထားပြီး အပြည့်အစုံကြည့်ရှုရန် လည်း ကြိုဆိုပါသည်။
ဥပမာတစ်ခု ဖော်ပြမည်။ ကျွန်ုပ်တို့၏ ice-cream ရောင်းအားကို လေ့လာမည်။ အချိန်ကာလ တစ်ခုအတွင်း ရောင်းအားရေတွက် စီးရီးတစ်ခု ဖန်တီးကြမည်။
start_date = "Jan 1, 2020"
end_date = "Mar 31, 2020"
idx = pd.date_range(start_date,end_date)
print(f"Length of index is {len(idx)}")
items_sold = pd.Series(np.random.randint(25,50,size=len(idx)),index=idx)
items_sold.plot()
အခုsuppose ထုပ်ပိုးထားသော ice-cream အပို ၁၀ ထုပ်ကို မိတ်ဆွေများအတွက်ပါတီတစ်ခုစီ အပတ်စဉ် ယူသွားကြသည်။ အဲဒါကို အပတ်အလိုက် index ထားထားသော series အနေနဲ့ ဖန်တီးမယ်။
additional_items = pd.Series(10,index=pd.date_range(start_date,end_date,freq="W"))
နှစ်ခုသော series များကို ပေါင်းပြီး ရလာသည့် တန်ဖိုးစုစုပေါင်းကို တွက်ချက်သည် -
total_items = items_sold.add(additional_items,fill_value=0)
total_items.plot()
မှတ်ချက် - ပြသထားသော
total_items+additional_itemsရိုးရိုးအစားမသုံးပါနဲ့။ သုံးမယ်ဆိုရင် Series တွင်NaN(Not a Number) တန်ဖိုးများ ရှိပါမည်။ အဲဒါကadditional_itemsSeries တွင် index အချို့ မရှိတော့သော ကြောင့် ဖြစ်သည်။ ထို့ကြောင့် ပေါင်းစပ်မှုတွင်fill_valueparameter ကို သတ်မှတ်ပေးရမည်။
Time series တွင် အချိန်ကာလ အဆင့် အသီးသီးဖြင့် resample ပြုလုပ်နိုင်သည်။ ဥပမာ နေ့တိုင်းရောင်းအားကို လစဥ် ပျမ်းမျှ ရောင့်လိုပါက အောက်ပါကုဒ်ကို အသုံးပြုနိုင်သည်။
monthly = total_items.resample("1M").mean()
ax = monthly.plot(kind='bar')
DataFrame
DataFrame သည် index အတူတူရှိသော series များစုစည်းမှု ဖြစ်သည်။ အများသော series များကို DataFrame တစ်ခုထဲတွင် ပေါင်းစပ်နိုင်သည်။
a = pd.Series(range(1,10))
b = pd.Series(["I","like","to","play","games","and","will","not","change"],index=range(0,9))
df = pd.DataFrame([a,b])
ဒီကောင်နဲ့ တစ်လုံး ရိုးရာ ဇယားတစ်ခု ဖန်တီးမည် -
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 1 | I | like | to | use | Python | and | Pandas | very | much |
Series များကို ကော်လံအဖြစ် အသုံးပြုနိုင်ပြီး ဒစ်ရှင်နယ်ရီတွင် ကော်လံအမည်များ ပြသနိုင်သည်။
df = pd.DataFrame({ 'A' : a, 'B' : b })
ဒီမှာ ဇယား အဖြစ် ကြည့်ရမှာဖြစ်သည် -
| A | B | |
|---|---|---|
| 0 | 1 | I |
| 1 | 2 | like |
| 2 | 3 | to |
| 3 | 4 | use |
| 4 | 5 | Python |
| 5 | 6 | and |
| 6 | 7 | Pandas |
| 7 | 8 | very |
| 8 | 9 | much |
မှတ်ချက် - ဒီဇယားပြင်ဆင်မှုကို ယခင် ဇယားအား transpose လုပ်ခြင်းဖြင့် ရနိုင်သည်။ ဥပမာအနေနဲ့
df = pd.DataFrame([a,b]).T.rename(columns={ 0 : 'A', 1 : 'B' })
ဤ .T သည် DataFrame ကို transpose ပြုလုပ်ခြင်း၊ တန်းနှင့်ကော်လံ အပေါ်တွင် ပြောင်းလဲခြင်းလုပ်ငန်းဖြစ်သည်။ rename လုပ်ဆောင်ချက်ကတော့ ယခင် ဥပမာတွင်ဖြစ်သည့်အတိုင်း ကော်လံအမည်များ ပြောင်းလဲရန် အသုံးပြုသည်။
DataFrames အပေါ် အရေးကြီးဆုံး လုပ်ဆောင်ချက်အနည်းငယ်မှာ အောက်ပါအတိုင်းဖြစ်သည်။
ကော်လံရွေးချယ်ခြင်း။ df['A'] လိုရေး၍ တစ်ခုချင်းကော်လံကို ရွေးချယ်နိုင်ပြီး ယခုစစ်ဆေးခြင်းသည် Series ကို ပြန်လည်ပေးသည်။ ဒါ့အပြင် df[['B','A']] များဖြင့် ကော်လံအပိုင်းအစ တစ်ခုထဲယူ၍ DataFrame အသစ်ရနိုင်သည်။
ကျရောက်ရာ အတန်းများကိုသာ စစ်ထုတ်ခြင်း။ ဥပမာ A ကော်လံတန်ဖိုး ၅ ထက်ကြီးသော အတန်းများသာ စောတျမြှောက်ရန် df[df['A']>5] ဟူ၍ ရေးရေးနိုင်သည်။
မှတ်ချက် - အဲဒီစစ်ထုတ်မှုအလုပ်လုပ်ပုံမှာ
df['A']<5သည် boolean series ကို Return ပြန်သည်။ ၎င်းသည် Seriesdf['A']တခုလုံး၏တစ်လုံးချင်း စစ်ဆေးမှုများသည်Trueသို့မဟုတ်Falseဖြစ်သည်ကိုပြသည်။ Boolean series ကို index အဖြစ် အသုံးပြုပြီး DataFrame ၏ အတန်း(တန်း)အပိုင်းကို ရယူသည်။ ထို့ကြောင့် Python boolean expression များ အားလုံးကို မရနိုင်ပါ၊ ဥပမာdf[df['A']>5 and df['A']<7]ဟာ မှားနေပါသည်။ အစား&operator ကို boolean series တွင် သုံးပြီးdf[(df['A']>5) & (df['A']<7)]ဟုဖော်ပြရပါမည် (အထပ်သတ်မှတ်ချက်များ အရေးကြီးသည်)။
အသစ်ပြုလုပ်ဖော်ပြရသော ကော်လံများ ဖန်တီးခြင်း။ DataFrame တွင် အသစ်သော ကော်လံများကို အလွယ်စား သဘောပေါက်ဖော်ပြချက်ဖြင့် ဖန်တီးနိုင်သည်။
df['DivA'] = df['A']-df['A'].mean()
ဥပမာအနေဖြင့် A က ကော်လံ၏ ပျမ်းမျှတန်ဖိုးမှ ကွာခြားမှုဂဏန်းကိုတွက်ချက်သည်။ အလုပ်လုပ်တာကတော့ Series တစ်ခုကိုတွက်ပြီး ဘယ်ဖက်ကနေ ထည့်ရာတွင် ကော်လံအသစ် ဖန်တီးခြင်းဖြစ်ပါသည်။ ထို့ကြောင့် Series နဲ့ မလိုက်ဖက်တဲ့ လုပ်ဆောင်ချက်များကို အသုံးမပြုရ၊ အောက်က ကုဒ် ตัวอย่าง မှားဟုတ်ပါသည် -
# မှားယွင်းသော ကုဒ် -> df['ADescr'] = "နိမ့်" သောအခါ df['A'] < 5 မဟုတ်လျှင် "မြင့်"
df['LenB'] = len(df['B']) # <- မှားယွင်းသောရလဒ်
syntax မှန်ခွင့်ရှိသော်လည်း ဤကုဒ်သည်မှားယွင်းသော ရလဒ် ဖြစ်သည်၊ Series B ၏ရှည်လျားမှုပမာဏအား ကော်လံအားလုံးတွင် ချိတ်ဆက်ပေးသည့်အတွက် ဖြစ်ကြောင်း သဘောတူသည်။
ရှုပ်ထွေးသော ဖော်ပြချက်များ ပြုလုပ်လိုပါက apply function ကို သုံးနိုင်ပါသည်။ နောက်ဆုံး သရုပ်ပြချက်ကို အောက်ပါအတိုင်းရေးနိုင်သည် -
df['LenB'] = df['B'].apply(lambda x : len(x))
# ဒါမှမဟုတ်
df['LenB'] = df['B'].apply(len)
အထက်ဖော်ပြခဲ့သော လုပ်ဆောင်ချက်များနောက်တော်တွင် ကျွန်တော်တို့တွင် ဒီလို DataFrame ဖြစ်လာပါမည် -
| A | B | DivA | LenB | |
|---|---|---|---|---|
| 0 | 1 | I | -4.0 | 1 |
| 1 | 2 | like | -3.0 | 4 |
| 2 | 3 | to | -2.0 | 2 |
| 3 | 4 | use | -1.0 | 3 |
| 4 | 5 | Python | 0.0 | 6 |
| 5 | 6 | and | 1.0 | 3 |
| 6 | 7 | Pandas | 2.0 | 6 |
| 7 | 8 | very | 3.0 | 4 |
| 8 | 9 | much | 4.0 | 4 |
နံပါတ်အလိုက် အတန်း(တန်း)ရွေးချယ်မှုကို iloc ဖွဲ့စည်းမှု ဖြင့် ပြုလုပ်နိုင်သည်။ ဥပမာ DataFrame မှ ပထမဆုံး ၅ အတန်းကို ရွေးချယ်ရန်:
df.iloc[:5]
အုပ်စုဖွဲ့ခြင်း(Grouping) သည် Excel တွင် pivot table မျှတူသော ရလဒ်ရရှိရန် ပုံမှန်အသုံးပြုသည်။ LenB မှ အတန်းအလိုက် A ကော်လံ၏ ပျမ်းမျှတန်ဖိုးကိုတွက်ချင်ပါက DataFrame ကို LenB နေရာတိေ်း grouping ပြုလုပ်ပြီး mean ဖော်ပြနိုင်သည်။
df.groupby(by='LenB')[['A','DivA']].mean()
ပျမ်းမျှတန်ဖိုးနှင့် အုပ်စုအတွင်း အထိမ်းအမှတ်များကို တွက်ချက်ရန် aggregate function ကို အသုံးပြုနိုင်သည်။
df.groupby(by='LenB') \
.aggregate({ 'DivA' : len, 'A' : lambda x: x.mean() }) \
.rename(columns={ 'DivA' : 'Count', 'A' : 'Mean'})
ဒီဇယားကို ရရှိပါသည် -
| LenB | Count | Mean |
|---|---|---|
| 1 | 1 | 1.000000 |
| 2 | 1 | 3.000000 |
| 3 | 2 | 5.000000 |
| 4 | 3 | 6.333333 |
| 6 | 2 | 6.000000 |
ဒေတာရယူခြင်း
Python objects မှ Series နှင့် DataFrames ဖန်တီးရတာ 얼마나 ပေါ့ပါးလွယ်ကူမှန်း ကျွန်တော်တို့ မြင်တွေ့ထားပြီ။ သို့သော် ရက်ခဏတွင် data များသည် စာသားဖိုင် သို့မဟုတ် Excel ဇယားအဖြစ် ရောက်ရှိလာပါသည်။ ကံကောင်းစွာတွင်တော့ Pandas သည် disk မှ data များတင်သွင်းရန် ရိုးရှင်းသောနည်းလမ်းကို ကျွန်တော်တို့အား ပေးသည်။ ဥပမာ CSV ဖိုင်ဖတ်ခြင်း သည် အလွယ်တကူ အောက်ပါအတိုင်း ဖြစ်သည်။
df = pd.read_csv('file.csv')
"Challenge" အပိုင်းတွင်တော့ နောက်ထပ် data တင်သွင်းခြင်းနမူနာများ၊ အပြင်ဘက် website များမှ data ရယူခြင်းတို့ကို ကြည့်ရှုမည်ဖြစ်သည်။
ပုံနှိပ်ခြင်းနှင့် ပုံဖော်ခြင်း
Data Scientist တစ်ဦးသည် data ကို လေ့လာရန် မဖြစ်မနေလိုအပ်သည်၊ ထို့ကြောင့် ဒါကို ရှုမြင်နိုင်ရန် အရေးကြီးသည်။ DataFrame ကြီးမားလျှင် မကြာခဏ အစောပိုင်းအတန်းများကိုသာ ပုံနှိပ်၍ မိမိလုပ်ဆောင်မှုမှန်ကန်ကြောင်း သေချာစိစစ်လိုသည်။ ၎င်းကို df.head() ခေါ်၍ ပြုလုပ်နိုင်သည်။ Jupyter Notebook မှာ အဲဒီ function ကို ခေါ်လျှင် ဆောင်းပါးတစ်လုံးကဲ့သို့ DataFrame ကို အလှတရားရှိစေသော ဇယားပုံစံဖြင့် ပုံနှိပ်ပေးမည်ဖြစ်သည်။
အချို့ ကော်လံများကို မြင်သာအောင် ဆွဲထွက်ရန် plot function ကို အသုံးပြုကြောင်းလည်း ကျွန်တော်တို့ မြင်သူမိသည်။ plot သည် အလုပ်အများကြီး စွမ်းဆောင်နိုင်ပြီး kind= parameter ဖြင့် အမျိုးမျိုးသောဇယားအမျိုးအစားများကို ထောက်ပံ့ပေးသည်၊ သို့သော် ပိုမိုရှုပ်ထွေးသော ပုံဖော်ရန်အတွက် raw matplotlib library ကို အမြဲအသုံးပြုနိုင်သည်။ data visualization ကို သီးသန့် သင်ခန်းစာများတွင် အသေးစိတ် ဝါနည်းမည်ဖြစ်သည်။
ဤအနှိုင်းအယှက်မှာ Pandas ၏ အရေးကြီးဆုံး တွConceptများကို ဖုံးကွယ်ထားသော်လည်း၊ စာကြည်ပြားကို လှမ်းရန် မရှိဘဲ မည်သည့်အရာကိုမဆို လုပ်ဆောင်နိုင်သော library များစွာပါဝင်သည်။ ယခု သင်ထားသော သိပ္ပံအား အသုံးပြု၍ အထူးပြဿနာများ ဖော်ထုတ်ကြည့်လိုက်ပါစို့။
🚀 စိန်ခေါ်မှု ၁: COVID ထွက်ပေါက်မှု ခွဲခြမ်းစိတ်ဖြာခြင်း
ပထမဆုံး ကိုင်တွယ်မည့် ပြဿနာမှာ COVID-19 ရောဂါဖြန့်ချိမှု မော်ဒယ်တည်ဆောက်ခြင်း ဖြစ်သည်။ ၎င်းအတွက် Center for Systems Science and Engineering (CSSE)၊ Johns Hopkins University မှ လက်ခံထားသော နိုင်ငံအလိုက် ရောဂါကူးစက်ရသူအရေအတွက် data ကို အသုံးပြုမည်။ Dataset ကို GitHub Repository တွင် ရနိုင်သည်။
data ကို ကိုင်တွယ်နည်းပြလိုသည့်ကြောင့် notebook-covidspread.ipynb ကို ဖွင့်ပြီး အပေါ်မှ အောက်ကို ဖတ်ရှုကြပါ။ cell များကိုလည်း ပြန်လည် ဆော့ဖတ်နိုင်ပြီး အဆုံးတွင် ကျန်ရှိသော စိန်ခေါ်မှုများကို လုပ်ဆောင်နိုင်သည်။
Jupyter Notebook တွင် ကုဒ်ဖြေရှင်းပုံ မသိပါက ဒီဆောင်းပါး ကို ကြည့်ဆွဲပေးပါ။
မဖွဲ့စည်းထားသော Data နှင့် အလုပ်လုပ်ခြင်း
data များသည် မကြာခဏ ဇယားပုံစံဖြစ်သော်လည်း တချို့ကိစ္စများတွင် မဖွဲ့စည်းထားသော data များ၊ ဥပမာ စာသား သို့မဟုတ် ပုံများကို ကိုင်တွယ်ရန်လိုအပ်သည်။ ၎င်းအတွက် အထက်ဖော်ပြထားသော data processing နည်းလမ်းများအသုံးပြုရန်အတွက် ကျွန်တော်တို့ ဖော်ထုတ်ရမည် ဖြစ်သော data ကို ဖော်ထုတ်ရပါမည်။ နမူနာအချို့မှာ -
- စာသားမှ keyword များဖော်ထုတ်ခြင်း၊ ထို keyword များ၏ ထိတွေ့မူအကြိမ်ရေ စိစစ်ခြင်း
- ပုံတစ်ပုံအပေါ်ရှိ အရာဝတ္ထုအကြောင်း အချက်အလက် ဖော်ထုတ်ရန် neural networks အသုံးပြုခြင်း
- ဗီဒီယိုကင်မရာအစားထိုး၏ လူများ၏ စိတ်ခံစားချက်အချက်အလက် ရယူခြင်း
🚀 စိန်ခေါ်မှု ၂: COVID အကြောင်း စာတမ်းများ ခွဲခြမ်းစိတ်ဖြာခြင်း
ဤစိန်ခေါ်မှုတွင် ကျွန်တော်တို့ COVID ကာလ အကျဉ်းချုပ် ပြဿနာကို ဆက်လက်လုပ်ဆောင်ပြီး COVID ပညာရေးဆိုင်ရာ စာတမ်းများကို ပြုပြင် ပိုမိုကောင်းမွန်စွာ ကိုင်တွယ်သွားမည်။ CORD-19 Dataset တွင် COVID နှင့်ပတ်သက်သော စာတမ်းများ ၇၀၀၀ ကျော် ပါဝင်ပြီး metadata နှင့် အကျဉ်းသုံး ပြုထားသည် (ထိုစာတမ်းများအနက် တချို့ကို များစွာဖြစ်လျှင် ပြည့်စုံစာသားလည်းပါဝင်သည်)။
Text Analytics for Health cognitive service ကို အသုံးပြု၍ ဒီ dataset ကို ခွဲခြမ်းစိတ်ဖြာနမူနာ လုံးဝ ပြည့်စုံသည့်နည်းလမ်းကို ဒီ blog post တွင် ဖော်ပြထားသည်။ ကျွန်တော်တို့မှာ အထွေထွေ ဗဟုသုတ ပေါ်မူတည်၍ ချိုသာအောင် လုပ်ဆောင်မည်။
NOTE: ဒီ repository မှာ dataset ကို မထည့်သွင်းပေးထားပါ။ ပထမဦးစွာ
metadata.csvဖိုင်ကို Kaggle တွင်ရှိသည့် dataset ကနေ ဒေါင်းလုပ် ရယူရမည်။ Kaggle တွင် အကောင့်ဖွင့်ရမှာ ဖြစ်နိုင်ပါသည်။ အကောင့်ဖွင့်ခြင်းမရှိဘဲ ဒီနေရာမှ dataset ကို ဒေါင်းလုပ် ရယူနိုင်ပါသည်။ သို့သော် metadata ဖိုင်အပြင် ပြည့်စုံစာသားများလည်း ပါဝင်ပါသည်။
notebook-papers.ipynb ကိုဖွင့်ပြီး အပေါ်မှ အောက်ထိ ဖတ်ရှုပါ။ cell များကိုလည်း ဆောင်ရွက်နိုင်ပြီး အဆုံးတွင် ကျန်ရှိသော စိန်ခေါ်မှုများ လုပ်ဆောင်လိုက်ပါ။
ပုံဒေတာကို ဆက်သွယ်ကြည့်ရန်
မကြာသေးမီက AI မော်ဒယ်များသည် ပုံများကို နားလည်အသိပေးနိုင်စွမ်းရှိသည်။ ကြိုတင်လေ့ကျင့်ပြီးသား neural networks သို့မဟုတ် cloud services ဟာ ဖြေရှင်းနိုင်သော အလုပ်အမ်တ်တစ်ချို့ရှိသည်။ ဥပမာများမှာ -
- ပုံသတ်မှတ်ခြင်း: ပုံကို ကြိုတင်သတ်မှတ်ထားသော အမျိုးအစားများအနက် တစ်ခုအဖြစ် သတ်မှတ်ပေးပါသည်။ သင့်ကိုယ်ပိုင် ပုံသတ်မှတ်ပညာ သင်ကြားလိုပါက Custom Vision စသည်ဖြင့် ဝန်ဆောင်မှုများကို အသုံးပြုနိုင်ပါသည်။
- အရာဝတ္ထု တွေ့ရှိခြင်း: ပုံ၌ ပါဝင်သည့် အရာဝတ္ထုအမျိုးမျိုးကို လေ့လာနိုင်သည်။ computer vision စက်မှုလုပ်ငန်းဆိုင်ရာ ဝန်ဆောင်မှုက သာမန် အရာဝတ္ထုစနစ် အများကြီး တွေ့ရှိနိုင်ပြီး Custom Vision မော်ဒယ်တစ်ခုကို သင့်စိတ်ဝင်စားသည့် အရာဝတ္ထုအတွက် သင်ကြားနိုင်သည်။
- မျက်နှာ ရှာဖွေခြင်း၊ အသက်၊ လိင်နှင့် စိတ်ခံစားချက် ရှာဖွေခြင်း ပါဝင်သည်။ ယင်းကို Face API ဖြင့် ပြုလုပ်နိုင်သည်။
ဒီ cloud services များအားလုံးကို Python SDKs အသုံးပြု၍ ခေါ်နိုင်ပြီး သင့် data လေ့လာမှု လုပ်ငန်းစဉ်သို့ လွယ်ကူစွာ ပေါင်းထည့်နိုင်သည်။
ပုံဒေတာ ရင်းမြစ်များမှ data ကို စူးစမ်းလေ့လာသော နမူနာအချို့မှာ-
- How to Learn Data Science without Coding ဆောင်းပါးတွင် Instagram ဓါတ်ပုံများကို မျက်စိကြည့်ရွေ့ကူကြည့်ကာ ပုံနှိပ်သည့်ပုံများအပေါ်လူကြိုက်များမှု၏ အကြောင်းရင်းကို နားလည်ရန် ကြိုးပမ်းသည်။ ပုံများမှ အချက်အလက်များအားလုံးကို computer vision ဖြင့် ရယူပြီး အဆိုပါ data များအပေါ် Azure Machine Learning AutoML ကို အသုံးပြု၍ အဓိပ္ပာယ်ရှိသော မော်ဒယ်တည်ဆောက်သည်။
- Facial Studies Workshop တွင်လည်း အခမ်းအနားမှ ဓါတ်ပုံများထဲ လူများ၏ စိတ်ခံစားချက်များကို ရယူရန် Face API ကို အသုံးပြုကာ လူတွေရဲ့ ပျော်ရွှင်မှုအကြောင်း နားလည်ရန် ကြိုးစားသည်။
နိဂုံးချုပ်
သင့်တွင် ဖွဲ့စည်းထားသော ဒေတာဖြစ်ဖြစ် မဖွဲ့စည်းထားသော ဒေတာဖြစ်ဖြစ် Python ကို အသုံးပြုပြီး data processing နှင့် နားလည်မှု ဆိုင်ရာ အဆင့်အားလုံးကို ပြုလုပ်နိုင်ပါသည်။ ယင်းသည် အလွယ်တကူအများဆုံးဖြစ်ပြီး ဒါ့ကြောင့် ဒီထက်မပိုသော data scientists များသည် Python ကို သူတို့၏ အဓိကကိရိယာအဖြစ် အသုံးပြုကြသည်။ သင် data science ခရီးစဉ်အတွက် စတင်မှသာ Python ကို စွဲမြဲပြီး လေ့လာပါက အကျိုးရှိမည်ဖြစ်သည်။
Post-lecture quiz
ပြန်လည်သုံးသပ်ခြင်းနှင့် ကိုယ်တိုင်လေ့လာခြင်း
စာအုပ်များ
အွန်လိုင်းအရင်းအမြစ်များ
- တရားဝင် 10 minutes to Pandas သင်ခန်းစာ
- Pandas Visualization အတွက် စာရွက်များ
Python သင်ယူခြင်း
- Turtle Graphics နှင့် Fractals ဖြင့် Python ကို ပျော်ရွှင်စွာ သင်ယူပါ
- ပထမဆုံး Python အဆင့်များကို လိုက်ပါသင်ယူပါ Learning Path on Microsoft Learn
အလုပ်အပ်ခြင်း
အထက်ဖော်ပြထားသော စိန်ခေါ်မှုများအတွက် ပိုမို အသေးစိတ် data လေ့လာမှု ပြုလုပ်ပါ
အားပေးမှုများ
ဒီသင်ခန်းစာကို Dmitry Soshnikov မှ ♥️ ဖြင့်ရေးသားထားသည်။
ပြောကြားချက် ဤစာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု Co-op Translator အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးပမ်းနေသော်လည်း၊ စက်ကိရိယာဘာသာပြန်ခြင်းများတွင် အမှားများ သို့မဟုတ် မှားယွင်းချက်များ ပါဝင်နိုင်ကြောင်း သတိပြုပါရန် လိုအပ်ပါသည်။ မူလစာတမ်းကို မူရင်းဘာသာဖြင့်သာ ယုံကြည်စိတ်ချရသော အချက်အလက်အဖြစ် သတ်မှတ်သင့်သည်။ အရေးကြီးသည့် သတင်းအချက်အလက်များအတွက် ပရော်ဖက်ရှင်နယ် လူသားဘာသာပြန်သူဝန်ဆောင်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ချက်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုကွာခြားမှုများ သို့မဟုတ် မမှန်ကန်သော အသုံးပြုမှုများအတွက် ကျွန်ုပ်တို့ တာဝန်မခံပါ။






