ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

အင်တာနက်ပေါ်ရှိ R သို့မဟုတ် Python ကိုရှာဖွေခြင်းဖြင့်၊ ဒေတာနှင့်လုပ်ဆောင်ရာတွင် မည်သည့်အရာက ပိုကောင်း၊ ပိုမိုမြန်ဆန်ပြီး ပိုမိုအဆင်ပြေသည့်အကြောင်းအရာနှင့်ပတ်သက်၍ သန်းပေါင်းများစွာသော ဆောင်းပါးများနှင့် ကီလိုမီတာ ဆွေးနွေးမှုများကို သင်တွေ့လိမ့်မည်။ သို့သော် ကံမကောင်းစွာဖြင့်၊ ဤဆောင်းပါးများနှင့် အငြင်းပွားမှုများအားလုံးသည် အထူးအသုံးမဝင်ပါ။

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

ဤဆောင်းပါး၏ရည်ရွယ်ချက်မှာ ဘာသာစကားနှစ်မျိုးလုံး၏ ရေပန်းအစားဆုံး ပက်ကေ့ဂျ်များတွင် အခြေခံဒေတာလုပ်ဆောင်ခြင်းနည်းပညာများကို နှိုင်းယှဉ်ရန်ဖြစ်သည်။ ပြီးတော့ စာဖတ်သူတွေကို သူတို့မသိသေးတဲ့ အရာတွေကို မြန်မြန်ဆန်ဆန် ကျွမ်းကျင်အောင် ကူညီပေးပါ။ Python တွင်ရေးသားသူများအတွက်၊ R တွင်တူညီသောအရာကိုမည်သို့လုပ်ဆောင်ရမည်ကိုရှာဖွေပါ၊ နှင့်အပြန်အလှန်ရှာဖွေပါ။

ဆောင်းပါးအတွင်း R တွင် လူကြိုက်အများဆုံး ပက်ကေ့ဂျ်များ၏ syntax ကို ပိုင်းခြားစိတ်ဖြာပါမည်။ ၎င်းတို့သည် စာကြည့်တိုက်တွင် ပါဝင်သော ပက်ကေ့ဂျ်များဖြစ်သည် tidyverseနှင့်အထုပ် data.table. သူတို့ရဲ့ syntax နဲ့ နှိုင်းယှဉ်ပါ။ pandasPython တွင် ရေပန်းအစားဆုံး ဒေတာခွဲခြမ်းစိတ်ဖြာမှု ပက်ကေ့ဂျ်။

၎င်းကို loading မှ Python နှင့် R တို့ကို အသုံးပြု၍ ခွဲခြမ်းစိတ်ဖြာသောဝင်းဒိုးလုပ်ဆောင်ချက်များ လုပ်ဆောင်ခြင်းအထိ ဒေတာခွဲခြမ်းစိတ်ဖြာမှုလမ်းကြောင်းတစ်ခုလုံးကို တစ်ဆင့်ပြီးတစ်ဆင့် လုပ်ဆောင်သွားပါမည်။

အကြောင်းအရာ

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

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

  1. R နှင့် Python အကြား အဓိက syntax ကွာခြားချက်များ
    1.1 ။ Package Functions များကို ဝင်ရောက်ကြည့်ရှုခြင်း။
    1.2 ။ ဟယ်
    1.3 ။ ညွှန်းကိန်း
    1.4 ။ နည်းလမ်းများနှင့် OOP
    1.5 ။ ပိုက်လိုင်းများ
    1.6 ။ ဒေတာဖွဲ့စည်းပုံများ
  2. ကျွန်ုပ်တို့အသုံးပြုမည့် ပက်ကေ့ဂျ်များနှင့်ပတ်သက်သော စကားလုံးအချို့
    2.1 ။ သပ်ရပ်သော
    2.2 ။ ဒေတာ
    2.3 ။ ပန်ဒါ
  3. အထုပ်များကို ထည့်သွင်းခြင်း။
  4. ဒေတာကို တင်နေသည်။
  5. ဒေတာဘောင်များ ဖန်တီးခြင်း။
  6. သင်လိုအပ်သောကော်လံများကိုရွေးချယ်ခြင်း။
  7. တန်းစီစစ်ခြင်း။
  8. အုပ်စုဖွဲ့ခြင်းနှင့် ပေါင်းစည်းခြင်း။
  9. စားပွဲများ၏ ဒေါင်လိုက်သမဂ္ဂ (UNION)
  10. အလျားလိုက် ဇယားများ ပါဝင်ခြင်း (JOIN)
  11. အခြေခံဝင်းဒိုးလုပ်ဆောင်ချက်များနှင့် တွက်ချက်ထားသော ကော်လံများ
  12. R နှင့် Python ရှိ ဒေတာလုပ်ဆောင်ခြင်းနည်းလမ်းများကြား စာပေးစာယူဇယား
  13. ကောက်ချက်
  14. သင်အသုံးပြုသည့်ပက်ကေ့ချ်နှင့်ပတ်သက်၍ စစ်တမ်းအတို

ဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းကို စိတ်ဝင်စားပါက ကျွန်ုပ်အား ရှာဖွေနိုင်ပါသည်။ ကွေးနနျးစာ и youtube က ချန်နယ်များ။ အကြောင်းအရာအများစုသည် R ဘာသာစကားအတွက် ရည်ရွယ်သည်။

R နှင့် Python အကြား အဓိက syntax ကွာခြားချက်များ

Python မှ R သို့ပြောင်းရန် ပိုမိုလွယ်ကူစေရန်၊ သို့မဟုတ် အပြန်အလှန်အားဖြင့်၊ သင်အာရုံစိုက်ရန်လိုအပ်သည့် အဓိကအချက်အချို့ကို ကျွန်ုပ်ပြောပြပါမည်။

Package Functions များကို ဝင်ရောက်ကြည့်ရှုခြင်း။

ပက်ကေ့ဂျ်တစ်ခုကို R တွင်ထည့်သွင်းပြီးသည်နှင့် ၎င်း၏လုပ်ဆောင်ချက်များကို ဝင်ရောက်ကြည့်ရှုရန် ပက်ကေ့ဂျ်အမည်ကို သင်သတ်မှတ်ရန် မလိုအပ်ပါ။ ကိစ္စအများစုတွင် ၎င်းသည် R တွင်သာမန်မဟုတ်သော်လည်း လက်ခံနိုင်သည်။ သင့်ကုဒ်ရှိ ၎င်း၏လုပ်ဆောင်ချက်များထဲမှ တစ်ခုကို လိုအပ်ပါက ပက်ကေ့ဂျ်ကို တင်သွင်းရန် မလိုအပ်သော်လည်း ပက်ကေ့ဂျ်အမည်နှင့် လုပ်ဆောင်ချက်အမည်ကို သတ်မှတ်ခြင်းဖြင့် ၎င်းကို ခေါ်ပါ။ R ရှိ ပက်ကေ့ဂျ်နှင့် လုပ်ဆောင်ချက်အမည်များကြား ခြားနားချက်မှာ ကော်လံနှစ်ထပ်ဖြစ်သည်။ package_name::function_name().

ဆန့်ကျင်ဘက်အနေနှင့် Python တွင် ၎င်း၏အမည်ကို ပြတ်သားစွာသတ်မှတ်ခြင်းဖြင့် ပက်ကေ့ခ်ျတစ်ခု၏ လုပ်ဆောင်ချက်များကို ခေါ်ရန် ဂန္ထဝင်ဟု ယူဆပါသည်။ ပက်ကေ့ဂျ်တစ်ခုကို ဒေါင်းလုဒ်လုပ်သောအခါ၊ ၎င်းကို အများအားဖြင့် အတိုကောက်အမည်ပေးလေ့ရှိသည်၊ ဥပမာ။ pandas အများအားဖြင့် ကလောင်အမည်ကို အသုံးပြုကြသည်။ pd. ပက်ကေ့ဂျ်လုပ်ဆောင်ချက်ကို အစက်တစ်ခုမှတစ်ဆင့် ဝင်ရောက်သည်။ package_name.function_name().

ဟယ်

R တွင်၊ အရာဝတ္ထုတစ်ခုအား တန်ဖိုးတစ်ခုသတ်မှတ်ရန် မြှားကိုအသုံးပြုခြင်းသည် သာမာန်ဖြစ်သည်။ obj_name <- valueတူညီသော သင်္ကေတတစ်ခုအား ခွင့်ပြုထားသော်လည်း၊ တူညီသောသင်္ကေတ R တွင် တူညီသည့်သင်္ကေတကို တန်ဖိုးများဖြတ်သန်းရန် အဓိကအားဖြင့် အသုံးပြုသည်။

Python တွင်၊ assignment ကို တူညီသည့်လက္ခဏာတစ်ခုဖြင့် သီးသန့်လုပ်ဆောင်သည်။ obj_name = value.

ညွှန်းကိန်း

ဤနေရာတွင်လည်း သိသာထင်ရှားသော ခြားနားချက်များစွာရှိသည်။ R တွင်၊ indexing သည် တစ်ခုမှစတင်ပြီး ရလာဒ်အပိုင်းအခြားရှိ သတ်မှတ်ထားသောဒြပ်စင်များအားလုံးပါဝင်သည်၊

Python တွင်၊ ညွှန်းကိန်းသည် သုညမှစတင်ပြီး ရွေးချယ်ထားသောအကွာအဝေးတွင် အညွှန်းတွင်ဖော်ပြထားသောနောက်ဆုံးဒြပ်စင်မပါဝင်ပါ။ ဒါကြောင့် ဒီဇိုင်းလုပ်ပါ။ x[i:j] Python တွင် j element မပါဝင်ပါ။

R အမှတ်အသားတွင် အနုတ်လက္ခဏာညွှန်းကိန်း ကွဲပြားမှုများလည်းရှိသည်။ x[-1] နောက်ဆုံးတစ်ခုမှလွဲ၍ vector ၏ဒြပ်စင်အားလုံးကိုပြန်ပေးလိမ့်မည်။ Python တွင် အလားတူအမှတ်အသားသည် နောက်ဆုံးဒြပ်စင်ကိုသာ ပြန်ပေးလိမ့်မည်။

နည်းလမ်းများနှင့် OOP

R သည် OOP ကို၎င်း၏ကိုယ်ပိုင်နည်းလမ်းဖြင့်အကောင်အထည်ဖော်သည်၊ ဤအကြောင်းကိုဆောင်းပါးတွင်ကျွန်တော်ရေးခဲ့သည်။ " R ဘာသာစကားဖြင့် OOP (အပိုင်း 1): S3 အတန်းများ". ယေဘူယျအားဖြင့် R သည် functional language ဖြစ်ပြီး ၎င်းတွင်ရှိသော အရာအားလုံးသည် functions များပေါ်တွင် တည်ဆောက်ထားသည်။ ထို့ကြောင့် ဥပမာအားဖြင့် Excel အသုံးပြုသူများအတွက်၊ သွားပါ။ tydiverse ထက်ပိုမိုလွယ်ကူလိမ့်မည်။ pandas. ဒါ​ပေမဲ့ ဒါက ကျွန်​​တော့်​ရဲ့ ပုဂ္ဂလအမြင်​ဖြစ်​နိုင်​တယ်​။

တိုတိုပြောရရင် R မှာရှိတဲ့ အရာဝတ္တုတွေမှာ နည်းလမ်းတွေ မရှိဘူး (ကျွန်ုပ်တို့ S3 အတန်းတွေအကြောင်း ပြောရင်၊ ဒါပေမယ့် အများကြီးနည်းတဲ့ တခြား OOP အကောင်အထည်ဖော်မှုတွေ ရှိပါတယ်)။ Object ၏ class ပေါ်မူတည်၍ ၎င်းတို့ကို ကွဲပြားစွာ စီမံဆောင်ရွက်ပေးသော ယေဘုယျလုပ်ဆောင်သည့်လုပ်ဆောင်ချက်များသာ ရှိပါသည်။

ပိုက်လိုင်းများ

နာမည်က ပြောထားတာ pandas လုံးလုံး မမှန်ပေမယ့် အဓိပ္ပါယ်ကို ရှင်းပြဖို့ ကြိုးစားပါ့မယ်။

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

သီးခြားအရာဝတ္ထုများတွင် ကျွန်ုပ်တို့ အလယ်အလတ်တွက်ချက်မှုများကို သိမ်းဆည်းထားသည့် အောက်ပါကုဒ်နမူနာကို ကြည့်ကြပါစို့။

temp_object <- func1()
temp_object2 <- func2(temp_object )
obj <- func3(temp_object2 )

ကျွန်ုပ်တို့သည် လုပ်ဆောင်ချက် 3 ခုကို ဆက်တိုက်လုပ်ဆောင်ခဲ့ပြီး တစ်ခုစီ၏ရလဒ်ကို သီးခြားအရာဝတ္ထုတစ်ခုတွင် သိမ်းဆည်းခဲ့သည်။ ဒါပေမယ့် တကယ်တော့၊ ဒီကြားခံအရာဝတ္ထုတွေကို ကျွန်တော်တို့ မလိုအပ်ပါဘူး။

သို့မဟုတ် ပိုဆိုးသော်လည်း Excel အသုံးပြုသူများနှင့် ပိုရင်းနှီးသည်။

obj  <- func3(func2(func1()))

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

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

စာကြည့်တိုက်များတွင် ပိုက်လိုင်းများ tidyverse အော်ပရေတာမှအကောင်အထည်ဖော်သည်။ %>%.

obj <- func1() %>% 
            func2() %>%
            func3()

ထို့ကြောင့် ကျွန်ုပ်တို့သည် အလုပ်၏ရလဒ်ကို ယူသည်။ func1() ၎င်းကို ပထမအငြင်းအခုံအဖြစ် ကျော်ဖြတ်ပါ။ func2()ထို့နောက် ကျွန်ုပ်တို့သည် ဤတွက်ချက်မှု၏ရလဒ်ကို ပထမအငြင်းအခုံအဖြစ် ကျော်ဖြတ်သည်။ func3(). အဆုံးတွင်၊ ကျွန်ုပ်တို့သည် အရာဝတ္တုတွင် လုပ်ဆောင်ခဲ့သော တွက်ချက်မှုများကို ရေးချပါ။ obj <-.

အထက်ဖော်ပြပါ အားလုံးကို ဤ meme မှ စကားလုံးများထက် သာလွန်စွာ သရုပ်ဖော်ထားပါသည်။
ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

В data.table ကြိုးများကို အလားတူနည်းဖြင့် အသုံးပြုကြသည်။

newDT <- DT[where, select|update|do, by][where, select|update|do, by][where, select|update|do, by]

စတုရန်းကွင်းတစ်ခုစီတွင် ယခင်လုပ်ဆောင်မှု၏ရလဒ်ကို သင်အသုံးပြုနိုင်သည်။

В pandas ထိုသို့သော လုပ်ဆောင်ချက်များကို အစက်ဖြင့် ခွဲခြားထားသည်။

obj = df.fun1().fun2().fun3()

အဲဒါတွေ။ ငါတို့စားပွဲကိုယူ df သူမ၏နည်းလမ်းကိုအသုံးပြုပါ။ fun1()ထို့နောက် ရရှိလာသော ရလဒ်အတွက် နည်းလမ်းကို ကျွန်ုပ်တို့ ကျင့်သုံးသည်။ fun2()ပြီးနောက် fun3(). ရလာတဲ့ရလဒ်ကို အရာဝတ္ထုတစ်ခုထဲမှာ သိမ်းဆည်းထားပါတယ်။ Obj .

ဒေတာဖွဲ့စည်းပုံများ

R နှင့် Python တွင် ဒေတာတည်ဆောက်ပုံများသည် ဆင်တူသော်လည်း နာမည်အမျိုးမျိုးရှိသည်။

ဖေါ်ပြချက်
R တွင်အမည်
Python/pandas တွင် အမည်

ဇယားဖွဲ့စည်းပုံ
data.frame၊ data.table၊ tibble
ဒေတာဘောင်

တစ်ဖက်မြင်တန်ဖိုးများစာရင်း
Vector
ပန်ဒါများတွင် စီးရီးများ သို့မဟုတ် Python စစ်စစ်တွင် စာရင်းသွင်းပါ။

Multi-level non-tabular ဖွဲ့စည်းပုံ
စာရင်း
အဘိဓာန် (dict)

အောက်တွင်ဖော်ပြထားသော syntax ၏အခြားအင်္ဂါရပ်များနှင့်ကွဲပြားချက်များကိုကြည့်ရှုပါမည်။

ကျွန်ုပ်တို့အသုံးပြုမည့် ပက်ကေ့ဂျ်များနှင့်ပတ်သက်သော စကားလုံးအချို့

ပထမဦးစွာ ဤဆောင်းပါးတွင် သင်ရင်းနှီးလာမည့် package များအကြောင်း အနည်းငယ်ပြောပြပါမည်။

သပ်ရပ်သော

တရားဝင်ဝက်ဘ်ဆိုက်: tidyverse.org
ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။
စာကြည့်တိုက် tidyverse RStudio မှအကြီးတန်းသုတေသနသိပ္ပံပညာရှင် Hedley Wickham မှရေးသားခဲ့သည် tidyverse ဒေတာစီမံဆောင်ရွက်မှုကို ရိုးရှင်းလွယ်ကူစေမည့် အထင်ကြီးလောက်သော ပက်ကေ့ဂျ်များပါ၀င်ပြီး ၎င်းတို့ထဲမှ 5 ခုသည် CRAN သိုလှောင်မှုမှ ထိပ်တန်းဒေါင်းလုဒ် 10 ခုတွင် ပါဝင်သည်။

စာကြည့်တိုက်၏ အဓိကအချက်မှာ အောက်ပါ အထုပ်များ ပါဝင်သည်- ggplot2, dplyr, tidyr, readr, purrr, tibble, stringr, forcats. ဤပက်ကေ့ဂျ်တစ်ခုစီသည် သီးခြားပြဿနာတစ်ခုကို ဖြေရှင်းရန် ရည်ရွယ်သည်။ ဥပမာအားဖြင့် dplyr data manipulation အတွက် ဖန်တီးထားတဲ့၊ tidyr data တွေကို သပ်ရပ်တဲ့ပုံစံဖြစ်အောင်၊ stringr strings များနှင့်အလုပ်လုပ်ခြင်းကိုရိုးရှင်းစေသည်။ ggplot2 လူသုံးအများဆုံး data visualization tools များထဲမှ တစ်ခုဖြစ်သည်။

အားသာချက် tidyverse SQL query language နဲ့ ပုံစံမျိုးစုံနဲ့ ဆင်တူတဲ့ syntax ဟာ ရိုးရှင်းပြီး ဖတ်ရလွယ်ကူပါတယ်။

ဒေတာ

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။တရားဝင်ဝက်ဘ်ဆိုက်: r-datatable.com

စာရေးသူ data.table H2O.ai မှ Matt Dole ဖြစ်သည်။

စာကြည့်တိုက်ကို ၂၀၀၆ ခုနှစ်တွင် စတင်ထုတ်ဝေခဲ့သည်။

ပက်ကေ့ဂျ် syntax သည် တွင်ကဲ့သို့ အဆင်မပြေပါ။ tidyverse R တွင် ဂန္ထဝင်ဒေတာဘောင်များကို ပိုမိုအမှတ်ရစေသော်လည်း တစ်ချိန်တည်းတွင် လုပ်ဆောင်နိုင်စွမ်းမှာ သိသိသာသာ ချဲ့ထွင်လာသည်။

ဤပက်ကေ့ဂျ်ရှိ ဇယားပါသော ခြယ်လှယ်မှုအားလုံးကို စတုရန်းကွင်းစကွက်များဖြင့် ဖော်ပြထားပြီး၊ သင်ဘာသာပြန်ဆိုပါက၊ data.table SQL တွင်၊ သင်သည်ဤကဲ့သို့သောအရာတစ်ခုကိုရရှိသည်။ data.table[ WHERE, SELECT, GROUP BY ]

ဤပက်ကေ့ဂျ်၏ အားသာချက်မှာ ဒေတာအများအပြားကို အရှိန်အဟုန်ဖြင့် လုပ်ဆောင်ခြင်း ဖြစ်သည်။

ပန်ဒါ

တရားဝင်ဝက်ဘ်ဆိုက်: pandas.pydata.org ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

စာကြည့်တိုက်၏အမည်သည် ဘက်ပေါင်းစုံမှဖွဲ့စည်းထားသော အချက်အလက်အစုံလိုက်များကို ဖော်ပြရန်အတွက် အသုံးပြုသည့် econometric ဝေါဟာရ "panel data" မှ ဆင်းသက်လာသည်။

စာရေးသူ pandas အမေရိကန် Wes McKinney ပါ။

Python တွင်ဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပတ်သက်လာသောအခါ, တူညီသည်။ pandas မရှိ ဒေတာများကို မည်သည့်အရင်းအမြစ်မှ ဒေတာတင်ခြင်းမှ ၎င်းကို မြင်ယောင်ခြင်းအထိ ဒေတာဖြင့် မည်သည့်အရာနှင့်မဆို ကိုင်တွယ်လုပ်ဆောင်ရန် ခွင့်ပြုသည့် အလွန်ဘက်စုံသုံးအဆင့်မြင့် ပက်ကေ့ဂျ်တစ်ခုဖြစ်သည်။

အပိုပက်ကေ့ခ်ျများ ထည့်သွင်းခြင်း။

ဤဆောင်းပါးတွင် ဆွေးနွေးထားသော ပက်ကေ့ဂျ်များသည် အခြေခံ R နှင့် Python ဖြန့်ဝေမှုများတွင် မပါဝင်ပါ။ သတိပေးချက်လေးတစ်ခုရှိသော်လည်း၊ သင်သည် Anaconda ဖြန့်ဖြူးမှုကို ထည့်သွင်းပါက ထပ်မံထည့်သွင်းပါ။ pandas မလိုအပ်ပါ။

R တွင် ပက်ကေ့ခ်ျများ ထည့်သွင်းခြင်း။

အကယ်၍ သင်သည် RStudio ဖွံ့ဖြိုးတိုးတက်မှုပတ်ဝန်းကျင်ကို အနည်းဆုံးတစ်ကြိမ်ဖွင့်ထားပါက R တွင် လိုအပ်သောပက်ကေ့ဂျ်ကို ထည့်သွင်းနည်းကို သင်သိပြီးဖြစ်နိုင်ပါသည်။ ပက်ကေ့ဂျ်များကို ထည့်သွင်းရန်၊ စံအမိန့်ကို အသုံးပြုပါ။ install.packages() ၎င်းကို R ကိုယ်တိုင် တိုက်ရိုက်လုပ်ဆောင်ခြင်းဖြင့်

# установка пакетов
install.packages("vroom")
install.packages("readr")
install.packages("dplyr")
install.packages("data.table")

တပ်ဆင်ပြီးနောက်၊ ပက်ကေ့ဂျ်များကို ချိတ်ဆက်ထားရန် လိုအပ်ပြီး ကိစ္စအများစုတွင် command ကိုအသုံးပြုသည်။ library().

# подключение или импорт пакетов в рабочее окружение
library(vroom)
library(readr)
library(dplyr)
library(data.table)

Python တွင် Packages ကို ထည့်သွင်းခြင်း။

ဒီတော့ Python အစစ်ကို install လုပ်ထားရင်၊ pandas ၎င်းကိုသင်ကိုယ်တိုင်ထည့်သွင်းရန်လိုအပ်သည်။ သင့်လည်ပတ်မှုစနစ်ပေါ်မူတည်၍ ကွန်မန်းလိုင်းတစ်ခု သို့မဟုတ် terminal ကိုဖွင့်ပြီး အောက်ပါ command ကိုရိုက်ထည့်ပါ။

pip install pandas

ထို့နောက်ကျွန်ုပ်တို့သည် Python သို့ပြန်လာပြီး command ဖြင့်ထည့်သွင်းထားသော package ကိုတင်သွင်းပါ။ import.

import pandas as pd

ဒေတာကို တင်နေသည်။

ဒေတာတူးဖော်ခြင်းသည် ဒေတာခွဲခြမ်းစိတ်ဖြာမှုတွင် အရေးကြီးဆုံး အဆင့်တစ်ခုဖြစ်သည်။ ဆန္ဒရှိပါက Python နှင့် R နှစ်မျိုးလုံးသည် သင့်အား မည်သည့်အရင်းအမြစ်များမှမဆို ဒေတာရယူရန် ကျယ်ပြန့်သောအခွင့်အရေးများ ပေးဆောင်သည်- ပြည်တွင်းဖိုင်များ၊ အင်တာနက်မှဖိုင်များ၊ ဝဘ်ဆိုဒ်များ၊ ဒေတာဘေ့စ်အမျိုးအစားအားလုံး။

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

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

  1. Google Analytics မှ ဒေါင်းလုဒ်နှစ်ခု။
  2. တိုက်တန်းနစ်ခရီးသည်ဒေတာအတွဲ။

ဒေတာအားလုံးသည် ကျွန်ုပ်တွင်ရှိသည်။ GitHub csv နှင့် tsv ဖိုင်များပုံစံဖြင့်။ သူတို့ကို ဘယ်ကနေ တောင်းဆိုမလဲ။

ဒေတာကို R- tidyverse၊ vroom၊ readr တွင် တင်နေသည်။

ဒေတာကို ဒစ်ဂျစ်တိုက်သို့ တင်ရန် tidyverse ပက်ကေ့ဂျ် နှစ်ခု ရှိသည် vroom, readr. vroom ပိုမိုခေတ်မီသော်လည်း အနာဂတ်တွင် ပက်ကေ့ခ်ျများကို ပေါင်းစပ်နိုင်မည်ဖြစ်သည်။

မှကိုးကား တရားဝင်စာရွက်စာတမ်း vroom.

vroom vs စာဖတ်သူ
လွတ်မြောက်ခြင်းဟူသည် အဘယ်နည်း vroom ဆိုလိုသည်။ readr? ယခုအချိန်တွင် ကျွန်ုပ်တို့သည် ပက်ကေ့ဂျ်နှစ်ခုကို သီးခြားစီ ပြောင်းလဲခွင့်ပြုရန် စီစဉ်နေသော်လည်း နောင်တွင် ပက်ကေ့ဂျ်များကို ပေါင်းစည်းနိုင်ဖွယ်ရှိသည်။ vroom ၏ပျင်းရိသောစာဖတ်ခြင်းအတွက် အားနည်းချက်တစ်ခုမှာ ဒေတာပြဿနာအချို့ကို ရှေ့တွင်အစီရင်ခံခြင်းမပြုနိုင်သောကြောင့် ၎င်းတို့ကို ပေါင်းစည်းရန် အကောင်းဆုံးနည်းကို စဉ်းစားရန် လိုအပ်ပါသည်။

vroom vs စာဖတ်သူ
လွတ်မြောက်ခြင်းဟူသည် အဘယ်နည်း။ vroom အတွက် readr? လောလောဆယ်တွင် ပက်ကေ့ဂျ်နှစ်ခုလုံးကို သီးခြားစီ တီထွင်ရန် စီစဉ်ထားသော်လည်း ၎င်းတို့ကို အနာဂတ်တွင် ပေါင်းစပ်နိုင်မည်ဖြစ်သည်။ စာဖတ်ပျင်းခြင်း၏ အားနည်းချက်များထဲမှ တစ်ခု vroom ဒေတာနှင့်ပတ်သက်သော အချို့သောပြဿနာများကို ကြိုတင်အစီရင်ခံခြင်းမပြုနိုင်သောကြောင့် ၎င်းတို့ကို ပေါင်းစပ်ရန် အကောင်းဆုံးကို သင်စဉ်းစားရန် လိုအပ်ပါသည်။

ဤဆောင်းပါးတွင် ကျွန်ုပ်တို့သည် data loading packages နှစ်ခုလုံးကို ကြည့်ပါမည်။

R: vroom ပက်ကေ့ဂျ်တွင် ဒေတာကို တင်နေသည်။

# install.packages("vroom")
library(vroom)

# Чтение данных
## vroom
ga_nov  <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec  <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- vroom("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")

ဒေတာကို R: readr တွင် တင်နေသည်။

# install.packages("readr")
library(readr)

# Чтение данных
## readr
ga_nov  <- read_tsv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec  <- read_tsv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")

အထုပ်ထဲမှာ vroomcsv / tsv ဒေတာဖော်မတ် မည်သို့ပင်ရှိစေကာမူ တူညီသောအမည်၏ လုပ်ဆောင်မှုဖြင့် တင်ခြင်းကို လုပ်ဆောင်သည် vroom()အထုပ်ထဲမှာ readr ဖော်မတ်တစ်ခုစီအတွက် မတူညီသောလုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့အသုံးပြုသည်။ read_tsv() и read_csv().

ဒေတာကို R: data.table တွင် တင်နေသည်။

В data.table ဒေတာတင်ရန် function တစ်ခုရှိသည်။ fread().

R: data.table ပက်ကေ့ဂျ်တွင် ဒေတာကို တင်နေသည်။

# install.packages("data.table")
library(data.table)

## data.table
ga_nov  <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_nowember.csv")
ga_dec  <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/ga_december.csv")
titanic <- fread("https://raw.githubusercontent.com/selesnow/publications/master/data_example/r_python_data/titanic.csv")

Python- pandas တွင် ဒေတာကို ဖွင့်နေသည်။

R package များနှင့် နှိုင်းယှဉ်ပါက၊ ဤအခြေအနေတွင် syntax သည် အနီးစပ်ဆုံးဖြစ်သည်။ pandas ဖွစျလိမျ့မညျ readr, ဘာဖြစ်လို့လဲဆိုတော့ pandas မည်သည့်နေရာမှမဆို ဒေတာတောင်းခံနိုင်ပြီး ဤပက်ကေ့ဂျ်တွင် လုပ်ဆောင်ချက်များ မိသားစုတစ်စုလုံး ပါရှိပါသည်။ read_*().

  • read_csv()
  • read_excel()
  • read_sql()
  • read_json()
  • read_html()

နှင့် ဖော်မတ်အမျိုးမျိုးမှ အချက်အလက်များကို ဖတ်ရန် ဒီဇိုင်းထုတ်ထားသော အခြားလုပ်ဆောင်ချက်များစွာ။ ဒါပေမယ့် ကျွန်တော်တို့ရဲ့ ရည်ရွယ်ချက်တွေအတွက် လုံလောက်ပါတယ်။ read_table() သို့မဟုတ် read_csv() အငြင်းအခုံကို အသုံးပြု စက်တင်ဘာ ကော်လံခြားနားချက်ကို သတ်မှတ်ရန်။

Python- pandas တွင် ဒေတာကို ဖွင့်နေသည်။

import pandas as pd

ga_nov  = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/ga_nowember.csv", sep = "t")
ga_dec  = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/ga_december.csv", sep = "t")
titanic = pd.read_csv("https://raw.githubusercontent.com/selesnow/publications/master/data_example/russian_text_in_r/titanic.csv")

ဒေတာဘောင်များ ဖန်တီးခြင်း။

စားပွဲ တိုက်တန်းနစ်ကျွန်တော်တင်ထားတဲ့ အကွက်တစ်ခုရှိတယ်။ လိင်ခရီးသည်၏ ကျားမခွဲခြားမှုကို သိမ်းဆည်းပေးသည့်၊

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

ဒါကိုလုပ်ဖို့၊ ကော်လံ 2 ကော်လံ (ကုဒ်နှင့် ကျားမအမည်) နှင့် အတန်း 2 ခုသာရှိမည့် ဇယားလေးတစ်ခုကို ဖန်တီးပါမည်။

R- tidyverse၊ dplyr တွင် ဒေတာဘောင်တစ်ခု ဖန်တီးခြင်း။

အောက်ဖော်ပြပါ ကုဒ်နမူနာတွင်၊ ကျွန်ုပ်တို့သည် လုပ်ဆောင်ချက်ကို အသုံးပြု၍ လိုချင်သောဒေတာဘောင်ကို ဖန်တီးပါသည်။ tibble() .

R: dplyr တွင် ဒေတာဘောင်တစ်ခု ဖန်တီးခြင်း။

## dplyr
### создаём справочник
gender <- tibble(id = c(1, 2),
                 gender = c("female", "male"))

R: data.table တွင် ဒေတာဘောင်တစ်ခု ဖန်တီးခြင်း။

R: data.table တွင် ဒေတာဘောင်တစ်ခု ဖန်တီးခြင်း။

## data.table
### создаём справочник
gender <- data.table(id = c(1, 2),
                    gender = c("female", "male"))

Python- pandas တွင် ဒေတာဘောင်တစ်ခု ဖန်တီးခြင်း။

В pandas ဖရိမ်များဖန်တီးခြင်းကို အဆင့်များစွာဖြင့် လုပ်ဆောင်ပြီး၊ ပထမဦးစွာ ကျွန်ုပ်တို့သည် အဘိဓာန်တစ်ခုကို ဖန်တီးပြီးနောက် အဘိဓာန်ကို ဒေတာဘောင်အဖြစ်သို့ ပြောင်းလဲပါသည်။

Python- pandas တွင် ဒေတာဘောင်တစ်ခု ဖန်တီးခြင်း။

# создаём дата фрейм
gender_dict = {'id': [1, 2],
               'gender': ["female", "male"]}
# преобразуем словарь в датафрейм
gender = pd.DataFrame.from_dict(gender_dict)

ကော်လံများကို ရွေးချယ်ခြင်း။

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

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

ထို့ကြောင့်၊ အရင်းအမြစ်ဇယားဖြင့် သင်လုပ်ဆောင်မည့် ပထမဆုံးလုပ်ဆောင်မှုတစ်ခုမှာ မလိုအပ်သော အချက်အလက်များကို ရှင်းလင်းရန်နှင့် ဤအချက်အလက်ရယူထားသည့် မမ်မိုရီကို ရှင်းထုတ်ရန်ဖြစ်သည်။

R- tidyverse၊ dplyr တွင် ကော်လံများကို ရွေးချယ်ခြင်း။

syntax dplyr SQL query language နှင့် အလွန်ဆင်တူသည်၊ ၎င်းနှင့် ရင်းနှီးပါက ဤပက်ကေ့ခ်ျကို လျင်မြန်စွာ ကျွမ်းကျင်လိမ့်မည်။

ကော်လံများကို ရွေးချယ်ရန် လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ select().

အောက်ပါနည်းလမ်းများဖြင့် ကော်လံများကို သင်ရွေးချယ်နိုင်သည့် ကုဒ်နမူနာများ ဖြစ်ပါသည်-

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

R: dplyr တွင် ကော်လံများကို ရွေးချယ်ခြင်း။

# Выбор нужных столбцов
## dplyr
### выбрать по названию столбцов
select(ga_nov, date, source, sessions)
### исключь по названию столбцов
select(ga_nov, -medium, -bounces)
### выбрать по регулярному выражению, стобцы имена которых заканчиваются на s
select(ga_nov, matches("s$"))
### выбрать по условию, выбираем только целочисленные столбцы
select_if(ga_nov, is.integer)

R- data.table ရှိ ကော်လံများကို ရွေးချယ်ခြင်း။

စစ်ဆင်ရေးများတွင်လည်း အလားတူပင် data.table အနည်းငယ် ကွဲပြားစွာ လုပ်ဆောင်ကြသည်၊ ဆောင်းပါးအစတွင် ကျွန်ုပ်သည် စတုရန်းကွင်းစကွက်များအတွင်း မည်သည့် အကြောင်းပြချက်များ ရှိနေသည်ကို ဖော်ပြချက် ပေးထားသည်။ data.table.

DT[i,j,by]

ဘယ်မှာ:
i - ဘယ်မှာလဲ၊ i.e. အတန်းလိုက် စစ်ထုတ်ခြင်း။
j - select|update|do, i.e. ကော်လံများကို ရွေးချယ်ပြီး ၎င်းတို့ကို ပြောင်းလဲခြင်း။
by - ဒေတာအုပ်စုဖွဲ့ခြင်း။

R- data.table ရှိ ကော်လံများကို ရွေးချယ်ခြင်း။

## data.table
### выбрать по названию столбцов
ga_nov[ , .(date, source, sessions) ]
### исключь по названию столбцов
ga_nov[ , .SD, .SDcols = ! names(ga_nov) %like% "medium|bounces" ]
### выбрать по регулярному выражению
ga_nov[, .SD, .SDcols = patterns("s$")]

Variable .SD ကော်လံများအားလုံးကို ဝင်ရောက်ကြည့်ရှုနိုင်စေပါသည်။ .SDcols ပုံမှန်အသုံးအနှုန်းများကိုအသုံးပြု၍ လိုအပ်သောကော်လံများကို စစ်ထုတ်ခြင်း သို့မဟုတ် သင်လိုအပ်သောကော်လံများ၏အမည်များကို စစ်ထုတ်ရန် အခြားလုပ်ဆောင်ချက်များ။

Python၊ ပန်ဒါများရှိ ကော်လံများကို ရွေးချယ်ခြင်း။

အမည်ဖြင့် ကော်လံများကို ရွေးချယ်ရန် pandas သူတို့ရဲ့ နာမည်စာရင်းကို ပေးရုံနဲ့ လုံလောက်ပါတယ်။ ပုံမှန်အသုံးအနှုန်းများကို အသုံးပြု၍ ကော်လံများကို အမည်ဖြင့် ရွေးချယ်ခြင်း သို့မဟုတ် ဖယ်ထုတ်ရန်၊ သင်သည် လုပ်ဆောင်ချက်များကို အသုံးပြုရန် လိုအပ်သည်။ drop() и filter(), နှင့်ဆင်ခြေ ဝင်ရိုး=၁အတန်းများထက် ကော်လံများကို လုပ်ဆောင်ရန် လိုအပ်ကြောင်း သင်ညွှန်ပြသော။

ဒေတာအမျိုးအစားအလိုက် အကွက်တစ်ခုကို ရွေးချယ်ရန် လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။ select_dtypes(), နှင့် ငြင်းခုံခြင်းသို့ ပါဝင် သို့မဟုတ် ထုတ်ပယ် သင်ရွေးချယ်ရန်လိုအပ်သည့် အကွက်များနှင့် သက်ဆိုင်သည့် ဒေတာအမျိုးအစားများစာရင်းကို ပေးပို့ပါ။

Python- pandas ရှိ ကော်လံများကို ရွေးချယ်ခြင်း။

# Выбор полей по названию
ga_nov[['date', 'source', 'sessions']]
# Исключить по названию
ga_nov.drop(['medium', 'bounces'], axis=1)
# Выбрать по регулярному выражению
ga_nov.filter(regex="s$", axis=1)
# Выбрать числовые поля
ga_nov.select_dtypes(include=['number'])
# Выбрать текстовые поля
ga_nov.select_dtypes(include=['object'])

တန်းစီစစ်ခြင်း။

ဥပမာအားဖြင့်၊ အရင်းအမြစ်ဇယားတွင် ဒေတာနှစ်ပေါင်းများစွာ ပါဝင်နိုင်သော်လည်း သင်သည် ပြီးခဲ့သောလကို ခွဲခြမ်းစိတ်ဖြာရန်သာ လိုအပ်သည်။ တစ်ဖန်၊ အပိုလိုင်းများသည် ဒေတာလုပ်ဆောင်ခြင်းလုပ်ငန်းစဉ်ကို နှေးကွေးစေပြီး PC မမ်မိုရီကို ပိတ်ဆို့စေသည်။

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

R- tydyverse၊ dplyr တွင် အတန်းများကို စစ်ထုတ်ခြင်း။

В dplyr အတန်းများကို စစ်ထုတ်ရန် လုပ်ဆောင်ချက်ကို အသုံးပြုသည်။ filter(). ၎င်းသည် ပထမအငြင်းအခုံအဖြစ် ဒေတာဘောင်တစ်ခုယူသည်၊ ထို့နောက် စစ်ထုတ်မှုအခြေအနေများကို စာရင်းပြုစုပါ။

ဇယားတစ်ခုအား စစ်ထုတ်ရန် ယုတ္တိဗေဒအသုံးအနှုန်းများကို ရေးသားသည့်အခါ၊ ဤကိစ္စတွင်၊ ကိုးကားခြင်းမရှိဘဲ ကော်လံအမည်များနှင့် ဇယားအမည်ကို မကြေငြာဘဲ သတ်မှတ်ပါ။

စစ်ထုတ်ရန် ယုတ္တိဗေဒအသုံးအနှုန်းများစွာကို အသုံးပြုသောအခါ၊ အောက်ပါအော်ပရေတာများကို အသုံးပြုပါ။

  • & သို့မဟုတ် ကော်မာ - ယုတ္တိတန်သော AND
  • | - ယုတ္တိ OR

R: dplyr တွင် အတန်းများကို စစ်ထုတ်ခြင်း။

# фильтрация строк
## dplyr
### фильтрация строк по одному условию
filter(ga_nov, source == "google")
### фильтр по двум условиям соединённым логическим и
filter(ga_nov, source == "google" & sessions >= 10)
### фильтр по двум условиям соединённым логическим или
filter(ga_nov, source == "google" | sessions >= 10)

R- data.table တွင် အတန်းများကို စစ်ထုတ်ခြင်း။

အထက်မှာ ရေးခဲ့သလိုပဲ၊ data.table ဒေတာကူးပြောင်းခြင်းဆိုင်ရာ အထားအသိုကို စတုရန်းကွင်းစကွက်များတွင် ထည့်သွင်းထားသည်။

DT[i,j,by]

ဘယ်မှာ:
i - ဘယ်မှာလဲ၊ i.e. အတန်းလိုက် စစ်ထုတ်ခြင်း။
j - select|update|do, i.e. ကော်လံများကို ရွေးချယ်ပြီး ၎င်းတို့ကို ပြောင်းလဲခြင်း။
by - ဒေတာအုပ်စုဖွဲ့ခြင်း။

အတန်းများကို စစ်ထုတ်ရန် အကြောင်းပြချက်ကို အသုံးပြုသည်။ iစတုရန်းကွင်းစဥ်တွင် ပထမနေရာပါရှိသည်။

ကော်လံများကို ကိုးကားမှတ်များမပါဘဲ ဇယားအမည်မသတ်မှတ်ဘဲ ယုတ္တိရှိသောအသုံးအနှုန်းများတွင် ဝင်ရောက်ကြည့်ရှုသည်။

ယုတ္တိဗေဒအသုံးအနှုန်းများသည် တွင်ကဲ့သို့ပင် တစ်ခုနှင့်တစ်ခု ဆက်စပ်နေသည်။ dplyr & နှင့် | အော်ပရေတာများမှတဆင့်။

R- data.table တွင် အတန်းများကို စစ်ထုတ်ခြင်း။

## data.table
### фильтрация строк по одному условию
ga_nov[source == "google"]
### фильтр по двум условиям соединённым логическим и
ga_nov[source == "google" & sessions >= 10]
### фильтр по двум условиям соединённым логическим или
ga_nov[source == "google" | sessions >= 10]

Python- pandas ရှိ ကြိုးများကို စစ်ထုတ်ခြင်း။

အတန်းအလိုက် စစ်ထုတ်ပါ။ pandas filtering နဲ့ ဆင်တူပါတယ်။ data.tableနှင့် စတုရန်းကွင်းစဥ်များဖြင့် ပြုလုပ်သည်။

ဤကိစ္စတွင်၊ ဒေတာဘောင်အမည်ကို ညွှန်ပြခြင်းဖြင့် ကော်လံများသို့ဝင်ရောက်ခွင့်ကို ကော်လံအမည်ကို စတုရန်းကွင်းစကွက်များတွင် ကိုးကားအမှတ်အသားအဖြစ် ညွှန်ပြနိုင်သည် (နမူနာ df['col_name']) သို့မဟုတ် (ကာလပြီးနောက်ကိုးကားခြင်းမရှိဘဲ၊နမူနာ df.col_name).

အခြေအနေများစွာဖြင့် ဒေတာဘောင်တစ်ခုကို စစ်ထုတ်ရန် လိုအပ်ပါက၊ အခြေအနေတစ်ခုစီကို ကွင်းစဥ်တွင် ထည့်သွင်းရပါမည်။ ယုတ္တိအခြေအနေများသည် အော်ပရေတာများမှ တစ်ခုနှင့်တစ်ခု ချိတ်ဆက်ထားသည်။ & и |.

Python- pandas ရှိ ကြိုးများကို စစ်ထုတ်ခြင်း။

# Фильтрация строк таблицы
### фильтрация строк по одному условию
ga_nov[ ga_nov['source'] == "google" ]
### фильтр по двум условиям соединённым логическим и
ga_nov[(ga_nov['source'] == "google") & (ga_nov['sessions'] >= 10)]
### фильтр по двум условиям соединённым логическим или
ga_nov[(ga_nov['source'] == "google") | (ga_nov['sessions'] >= 10)]

အုပ်စုဖွဲ့ခြင်းနှင့် ဒေတာစုပေါင်းခြင်း။

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

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

ဤလုပ်ငန်းဆောင်တာများကို လုပ်ဆောင်ရန်အတွက် syntax သည် ကျွန်ုပ်တို့သုံးသပ်သည့် ပက်ကေ့ခ်ျအားလုံးတွင် ပြန့်ကျဲနေပါသည်။

ဤကိစ္စတွင်၊ ကျွန်ုပ်တို့သည် နမူနာအဖြစ် dataframe ကိုယူပါမည်။ တိုက်တန်းနစ်၊ cabin class ပေါ်မူတည်၍ လက်မှတ်အရေအတွက်နှင့် ပျမ်းမျှကုန်ကျစရိတ်ကို တွက်ချက်ပါ။

R- tidyverse၊ dplyr တွင် ဒေတာများကို အုပ်စုဖွဲ့ခြင်းနှင့် ပေါင်းစည်းခြင်း။

В dplyr လုပ်ဆောင်ချက်ကို အုပ်စုဖွဲ့ရန်အတွက် အသုံးပြုသည်။ group_by()နှင့် စုစည်းမှု summarise(). တကယ်တော့, dplyr လုပ်ဆောင်ချက် မိသားစုတစ်စုလုံးရှိပါတယ်။ summarise_*()သို့သော် ဤဆောင်းပါး၏ ရည်ရွယ်ချက်မှာ အခြေခံအထားအသိုကို နှိုင်းယှဉ်ရန်ဖြစ်သည်၊ ထို့ကြောင့် ကျွန်ုပ်တို့သည် ထိုကဲ့သို့သော တောနက်ထဲသို့ မသွားပါ။

အခြေခံစုပေါင်းလုပ်ဆောင်ချက်များ

  • sum() - အနှစ်ချုပ်
  • min() / max() - အနည်းဆုံးနှင့်အမြင့်ဆုံးတန်ဖိုး
  • mean() - ပျမ်းမျှ
  • median() - ပျမ်းမျှ
  • length() - ပမာဏ

R: dplyr တွင် အုပ်စုဖွဲ့ခြင်းနှင့် ပေါင်းစည်းခြင်း။

## dplyr
### группировка и агрегация строк
group_by(titanic, Pclass) %>%
  summarise(passangers = length(PassengerId),
            avg_price  = mean(Fare))

လုပ်ဆောင်ရန် group_by() ပထမအငြင်းအခုံအဖြစ် ဇယားကို ကျော်ဖြတ်ခဲ့သည်။ တိုက်တန်းနစ်ပြီးတော့ အကွက်ကိုညွှန်ပြတယ်။ Pclassကျွန်ုပ်တို့၏စားပွဲကို အုပ်စုဖွဲ့ပါမည်။ အော်ပရေတာအသုံးပြု၍ ဤလုပ်ဆောင်ချက်၏ရလဒ် %>% function သို့ ပထမအငြင်းအခုံအဖြစ် ကျော်သွားသည်။ summarise()နှင့် နောက်ထပ် အကွက် 2 ခု ထပ်ထည့်သည်- ခရီးသည်များ и avg_စျေးနှုန်း. ပထမဦးဆုံး function ကို အသုံးပြု length() လက်မှတ်အရေအတွက်ကို တွက်ချက်ပြီး ဒုတိယတွင် လုပ်ဆောင်ချက်ကို အသုံးပြုသည်။ mean() ပျမ်းမျှလက်မှတ်စျေးနှုန်းကိုလက်ခံရရှိခဲ့သည်။

R: data.table တွင် ဒေတာများကို အုပ်စုဖွဲ့ခြင်းနှင့် ပေါင်းစည်းခြင်း။

В data.table အငြင်းအခုံကို ပေါင်းစည်းရန်အတွက် အသုံးပြုသည်။ j ၎င်းသည် စတုရန်းကွင်းကွင်းများနှင့် အုပ်စုဖွဲ့မှုအတွက် ဒုတိယနေရာရှိသည်။ by သို့မဟုတ် keybyတတိယရာထူးရထားတဲ့၊

ဤကိစ္စတွင် စုစည်းမှုလုပ်ဆောင်ချက်များစာရင်းသည် တွင်ဖော်ပြထားသည့်အရာနှင့် တူညီပါသည်။ dplyr, ဘာဖြစ်လို့လဲဆိုတော့ ၎င်းတို့သည် အခြေခံ R syntax မှ လုပ်ဆောင်ချက်များဖြစ်သည်။

R: data.table တွင် အုပ်စုဖွဲ့ခြင်းနှင့် ပေါင်းစည်းခြင်း။

## data.table
### фильтрация строк по одному условию
titanic[, .(passangers = length(PassengerId),
            avg_price  = mean(Fare)),
        by = Pclass]

Python- pandas တွင် ဒေတာများကို အုပ်စုဖွဲ့ခြင်းနှင့် ပေါင်းစည်းခြင်း။

အုပ်စုဖွဲ့ခြင်း။ pandas အလားတူ dplyrဒါပေမယ့် စုစည်းမှုဟာ မတူပါဘူး။ dplyr မဖွင့်ပါ data.table.

အုပ်စုဖွဲ့ရန် နည်းလမ်းကို အသုံးပြုပါ။ groupby()ဒေတာဘောင်ကို အုပ်စုဖွဲ့မည့် ကော်လံစာရင်းကို သင်ဖြတ်သန်းရန် လိုအပ်သည်။

ပေါင်းစည်းရန်အတွက် သင်နည်းလမ်းကို အသုံးပြုနိုင်သည်။ agg()အဘိဓာန်ကို လက်ခံသည်။ အဘိဓာန်သော့များသည် စုစည်းမှုလုပ်ဆောင်ချက်များကို သင်အသုံးပြုမည့် ကော်လံများဖြစ်ပြီး တန်ဖိုးများသည် စုစည်းမှုလုပ်ဆောင်ချက်များ၏ အမည်များဖြစ်သည်။

စုစည်းမှုလုပ်ဆောင်ချက်များ-

  • sum() - အနှစ်ချုပ်
  • min() / max() - အနည်းဆုံးနှင့်အမြင့်ဆုံးတန်ဖိုး
  • mean() - ပျမ်းမျှ
  • median() - ပျမ်းမျှ
  • count() - ပမာဏ

လုပ်ဆောင်ချက် reset_index() အောက်ဖော်ပြပါ ဥပမာတွင် ၎င်းကို nested အညွှန်းများကို ပြန်လည်သတ်မှတ်ရန် အသုံးပြုသည်။ pandas ဒေတာပေါင်းစည်းပြီးနောက် ပုံသေဖြစ်သည်။

အထိမ်းအမှတ် နောက်တစ်ကြောင်းကို ရွှေ့နိုင်ရမယ်။

Python - ပန်ဒါများတွင် အုပ်စုဖွဲ့ခြင်းနှင့် စုစည်းခြင်း။

# группировка и агрегация данных
titanic.groupby(["Pclass"]).
    agg({'PassengerId': 'count', 'Fare': 'mean'}).
        reset_index()

ဇယားများ၏ဒေါင်လိုက်ချိတ်ဆက်မှု

တူညီသောဖွဲ့စည်းပုံ၏ ဇယားနှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော ဇယားများတွင် သင်ပါဝင်သည့် လုပ်ဆောင်မှုတစ်ခု။ ကျွန်ုပ်တို့တင်ထားသောဒေတာတွင် ဇယားများပါရှိသည်။ ga_nov и ga_dec. ဤဇယားများသည် ဖွဲ့စည်းပုံတွင် တူညီကြသည်၊ ဥပမာ၊ တူညီသောကော်လံများနှင့် ဤကော်လံများတွင် ဒေတာအမျိုးအစားများရှိသည်။

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

၎င်းသည် နိုဝင်ဘာလနှင့် ဒီဇင်ဘာလများအတွက် Google Analytics မှ အပ်လုဒ်တင်ခြင်းဖြစ်ပြီး ဤကဏ္ဍတွင် ဤဒေတာကို ဇယားတစ်ခုအဖြစ် ပေါင်းစပ်ပါမည်။

R- tidyverse၊ dplyr တွင် ဇယားများကို ဒေါင်လိုက်ချိတ်ဆက်ခြင်း။

В dplyr လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ဇယား ၂ ခုကို တစ်ခုတည်းအဖြစ် ပေါင်းစပ်နိုင်သည်။ bind_rows()အငြင်းအခုံများအဖြစ် စားပွဲများဖြတ်သွားခြင်း၊

R: dplyr တွင် အတန်းများကို စစ်ထုတ်ခြင်း။

# Вертикальное объединение таблиц
## dplyr
bind_rows(ga_nov, ga_dec)

R- data.table တွင် ဇယားများကို ဒေါင်လိုက်ချိတ်ဆက်ခြင်း။

ဘာမှ မရှုပ်ထွေးပါဘူး၊ သုံးကြည့်ရအောင် rbind().

R- data.table တွင် အတန်းများကို စစ်ထုတ်ခြင်း။

## data.table
rbind(ga_nov, ga_dec)

Python- pandas တွင် ဒေါင်လိုက် ဇယားများ ချိတ်ဆက်ခြင်း။

В pandas ဇယားများကို ချိတ်ဆက်ရန် လုပ်ဆောင်ချက်ကို အသုံးပြုသည်။ concat()၎င်းတို့ကို ပေါင်းစပ်ရန် ဘောင်များစာရင်းကို သင်ဖြတ်သန်းရန် လိုအပ်သည်။

Python- pandas ရှိ ကြိုးများကို စစ်ထုတ်ခြင်း။

# вертикальное объединение таблиц
pd.concat([ga_nov, ga_dec])

ဇယားများ၏ အလျားလိုက် ချိတ်ဆက်မှု

ဒုတိယမှကော်လံများကို သော့ဖြင့်ပထမဇယားသို့ထည့်သည့်လုပ်ဆောင်မှုတစ်ခု။ ရည်ညွှန်းဒေတာအချို့ (ဥပမာ၊ ထုတ်ကုန်တစ်ခု၏ ကုန်ကျစရိတ်) ဖြင့် အချက်အလက်ဇယား (ဥပမာ၊ အရောင်းဒေတာပါသော ဇယား) ကို ဖြည့်တင်းသည့်အခါ ၎င်းကို မကြာခဏ အသုံးပြုလေ့ရှိသည်။

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

Join အမျိုးအစားများစွာရှိပါတယ်-

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

အရင်က တင်ထားတဲ့ ဇယားထဲမှာ တိုက်တန်းနစ် ကျွန်ုပ်တို့တွင် ကော်လံတစ်ခုရှိသည်။ လိင်ခရီးသည်၏ လိင်ကုဒ်နှင့် ကိုက်ညီသော၊

1 - အမျိုးသမီး
2 - ယောက်ျား

ထို့အပြင်၊ ကျွန်ုပ်တို့သည် ဇယားတစ်ခု—ကိုးကားသောစာအုပ်ကို ဖန်တီးထားသည်။ ကျား, မ. ခရီးသည်များ၏ ကျားမဆိုင်ရာ အချက်အလက်များကို ပိုမိုအဆင်ပြေစွာ တင်ပြနိုင်စေရန်အတွက် လမ်းညွှန်မှ ကျား၊မ အမည်ကို ထည့်သွင်းရန် လိုအပ်ပါသည်။ ကျား, မ စားပွဲဆီသို့ တိုက်တန်းနစ်.

အလျားလိုက်ဇယားသည် R- tidyverse၊ dplyr တွင်ပါဝင်ပါသည်။

В dplyr အလျားလိုက်ချိတ်ဆက်ခြင်းအတွက် လုပ်ဆောင်ချက်များ မိသားစုတစ်စုလုံး ရှိပါသည်။

  • inner_join()
  • left_join()
  • right_join()
  • full_join()
  • semi_join()
  • nest_join()
  • anti_join()

ကျွန်ုပ်၏အလေ့အကျင့်တွင် အသုံးအများဆုံးမှာ left_join().

ပထမအငြင်းအခုံနှစ်ခုအနေဖြင့်၊ အထက်ဖော်ပြပါလုပ်ဆောင်ချက်များသည် ဇယားနှစ်ခုပါဝင်ရန်၊ တတိယအငြင်းအခုံအဖြစ်၊ by ပါဝင်ရန် ကော်လံများကို သတ်မှတ်ရပါမည်။

အလျားလိုက်ဇယားသည် R: dplyr တွင် ပါ၀င်သည်။

# объединяем таблицы
left_join(titanic, gender,
          by = c("Sex" = "id"))

R- data.table ရှိ ဇယားများ၏ အလျားလိုက် ချိတ်ဆက်မှု

В data.table လုပ်ဆောင်ချက်ကို အသုံးပြု၍ စားပွဲများကို သော့ဖြင့် ချိတ်ဆက်ရန် လိုအပ်သည်။ merge().

data.table တွင် merge() လုပ်ဆောင်ရန် အကြောင်းပြချက်များ

  • x၊ y — ပါဝင်ရန် ဇယားများ
  • by — ဇယားနှစ်ခုစလုံးတွင် နာမည်တူပါက ပါဝင်ရန်သော့ဖြစ်သည့် ကော်လံ
  • by.x၊ by.y — ဇယားများတွင် မတူညီသောအမည်များရှိပါက ပေါင်းစပ်ရမည့်ကော်လံအမည်များ
  • all, all.x, all.y — Join အမျိုးအစား၊ အားလုံးသည် ဇယားနှစ်ခုလုံးမှ အတန်းအားလုံးကို ပြန်ပေးမည်၊ all.x သည် LEFT JOIN လုပ်ဆောင်ချက်နှင့် ကိုက်ညီသည် (ပထမဇယား၏အတန်းအားလုံးကို ချန်ထားမည်) all.y — သည် ၎င်းနှင့် သက်ဆိုင်သည် RIGHT JOIN လုပ်ဆောင်ချက် (ဒုတိယဇယား၏အတန်းအားလုံးကို ချန်ထားခဲ့မည်)။

R- data.table ရှိ ဇယားများ၏ အလျားလိုက် ချိတ်ဆက်မှု

# объединяем таблицы
merge(titanic, gender, by.x = "Sex", by.y = "id", all.x = T)

အလျားလိုက်ဇယားတွင် Python-ပန်ဒါများ ပါဝင်ပါ။

အပြင်၌ data.tableတွင် pandas ဇယားများကို ချိတ်ဆက်ရန် လုပ်ဆောင်ချက်ကို အသုံးပြုသည်။ merge().

ပန်ဒါများတွင် merge() လုပ်ဆောင်ချက်၏ အကြောင်းပြချက်များ

  • မည်ကဲ့သို့ — ချိတ်ဆက်မှုအမျိုးအစား- ဘယ်၊ ညာ၊ အပြင်၊ အတွင်း
  • on — ဇယားနှစ်ခုစလုံးတွင် နာမည်တူပါက သော့တစ်ခုဖြစ်သည်။
  • left_on၊ right_on — ဇယားများတွင် မတူညီသောအမည်များရှိပါက သော့ကော်လံများ၏အမည်များ

အလျားလိုက်ဇယားတွင် Python-ပန်ဒါများ ပါဝင်ပါ။

# объединяем по ключу
titanic.merge(gender, how = "left", left_on = "Sex", right_on = "id")

အခြေခံဝင်းဒိုးလုပ်ဆောင်ချက်များနှင့် တွက်ချက်ထားသော ကော်လံများ

Window လုပ်ဆောင်ချက်များသည် စုစည်းမှုလုပ်ဆောင်ချက်များနှင့် အဓိပ္ပါယ်ဆင်တူပြီး ဒေတာခွဲခြမ်းစိတ်ဖြာမှုတွင်လည်း မကြာခဏအသုံးပြုကြသည်။ သို့သော် စုစည်းမှုလုပ်ဆောင်ချက်များနှင့်မတူဘဲ၊ ဝင်းဒိုးလုပ်ဆောင်ချက်များသည် ဒေတာဘောင်၏ အတန်းအရေအတွက်ကို ပြောင်းလဲခြင်းမရှိပါ။

ဒေတာနှင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကားကို ရွေးချယ်ရမည် - R သို့မဟုတ် Python။ နှစ်ခုလုံး! ပန်ဒါများမှ သပ်ရပ်သောပုံစံနှင့် data.table နှင့် back သို့ ပြောင်းရွှေ့ခြင်း။

အခြေခံအားဖြင့်၊ ဝင်းဒိုးလုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကျွန်ုပ်တို့သည် စံသတ်မှတ်ချက်အချို့အရ ဝင်လာသောဒေတာဘောင်ကို အပိုင်းများအဖြစ် ပိုင်းခြားထားသည်။ အကွက်တစ်ခု၏တန်ဖိုး သို့မဟုတ် အကွက်များစွာဖြင့်။ ဝင်းဒိုးတစ်ခုစီတွင် ဂဏန်းသင်္ချာဆိုင်ရာ လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ပါသည်။ ဤလုပ်ဆောင်ချက်များ၏ ရလဒ်ကို စာကြောင်းတစ်ခုစီတွင် ပြန်ပေးမည်၊ ဆိုလိုသည်မှာ၊ ဇယားရှိ အတန်း စုစုပေါင်း အရေအတွက်ကို မပြောင်းလဲဘဲ၊

ဥပမာ စားပွဲကို ကြည့်ရအောင် တိုက်တန်းနစ်. ၎င်း၏ cabin class အတွင်း လက်မှတ်တစ်ခုစီ၏ ကုန်ကျစရိတ် မည်မျှ ရာခိုင်နှုန်းကို ကျွန်ုပ်တို့ တွက်ချက်နိုင်ပါသည်။

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

R- tidyverse၊ dplyr တွင် Window လုပ်ဆောင်ချက်များ

အတန်းအုပ်စုဖွဲ့ခြင်းကို မသုံးဘဲ ကော်လံအသစ်များထည့်ရန်၊ dplyr function ကိုဆောင်ရွက်ပေးသည်။ mutate().

အထက်ဖော်ပြပါ ပြဿနာကို နယ်ပယ်အလိုက် ဒေတာအုပ်စုဖွဲ့ခြင်းဖြင့် သင်ဖြေရှင်းနိုင်ပါသည်။ Pclass ကော်လံအသစ်တစ်ခုတွင် အကွက်ကို ပေါင်းစည်းပါ။ အခ. ထို့နောက် ဇယားကို အုပ်စုခွဲပြီး အကွက်တန်ဖိုးများကို ခွဲပါ။ အခ ယခင်အဆင့်တွင် ဖြစ်ပျက်ခဲ့သည်။

R: dplyr တွင် Window လုပ်ဆောင်ချက်များ

group_by(titanic, Pclass) %>%
  mutate(Pclass_cost = sum(Fare)) %>%
  ungroup() %>%
  mutate(ticket_fare_rate = Fare / Pclass_cost)

R: data.table ရှိ Window လုပ်ဆောင်ချက်များ

ဖြေရှင်းချက် algorithm သည် တွင်ရှိသကဲ့သို့ တူညီနေပါသည်။ dplyrဇယားကို အကွက်အလိုက် ပြတင်းပေါက်များအဖြစ် ခွဲရန် လိုအပ်သည်။ Pclass. အတန်းတစ်ခုစီနှင့် သက်ဆိုင်သည့် အဖွဲ့အတွက် ပမာဏကို ကော်လံအသစ်တစ်ခုတွင် ထုတ်ပေးပြီး ၎င်း၏အဖွဲ့ရှိ လက်မှတ်တစ်ခုစီ၏ ကုန်ကျစရိတ်ဝေစုကို တွက်ချက်သည့် ကော်လံတစ်ခုကို ပေါင်းထည့်ပါ။

ကော်လံအသစ်များထည့်ရန် data.table အော်ပရေတာ ပစ္စုပ္ပန် :=. အောက်တွင် ပက်ကေ့ဂျ်ကို အသုံးပြု၍ ပြဿနာတစ်ခုကို ဖြေရှင်းခြင်း ဥပမာတစ်ခုဖြစ်သည်။ data.table

R: data.table ရှိ Window လုပ်ဆောင်ချက်များ

titanic[,c("Pclass_cost","ticket_fare_rate") := .(sum(Fare), Fare / Pclass_cost), 
        by = Pclass]

Python- pandas ရှိ Window လုပ်ဆောင်ချက်များ

ကော်လံအသစ်ထည့်ရန် နည်းလမ်းတစ်ခု pandas - function ကိုသုံးပါ။ assign(). အတန်းများအုပ်စုဖွဲ့ခြင်းမရှိဘဲ cabin အတန်းအလိုက် လက်မှတ်များ၏ကုန်ကျစရိတ်ကို အကျဉ်းချုပ်ရန်၊ ကျွန်ုပ်တို့သည် လုပ်ဆောင်ချက်ကို အသုံးပြုပါမည်။ transform().

အောက်တွင် ကျွန်ုပ်တို့သည် ဇယားတွင် ထည့်သွင်းထားသော အဖြေတစ်ခု၏ ဥပမာတစ်ခုဖြစ်သည်။ တိုက်တန်းနစ် တူညီသော ကော်လံ ၂ ခု။

Python- pandas ရှိ Window လုပ်ဆောင်ချက်များ

titanic.assign(Pclass_cost      =  titanic.groupby('Pclass').Fare.transform(sum),
               ticket_fare_rate = lambda x: x['Fare'] / x['Pclass_cost'])

လုပ်ဆောင်ချက်များနှင့် နည်းလမ်းများ စာပေးစာယူဇယား

အောက်တွင် ကျွန်ုပ်တို့ထည့်သွင်းစဉ်းစားထားသော ပက်ကေ့ဂျ်များရှိ ဒေတာဖြင့် အမျိုးမျိုးသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန်အတွက် နည်းလမ်းများအကြား စာပေးစာယူဇယားတစ်ခုဖြစ်သည်။

ဖေါ်ပြချက်
သပ်ရပ်သော
ဒေတာ
ပန်ဒါ

ဒေတာကို တင်နေသည်။
vroom()/ readr::read_csv() / readr::read_tsv()
fread()
read_csv()

ဒေတာဘောင်များ ဖန်တီးခြင်း။
tibble()
data.table()
dict() + from_dict()

ကော်လံများကို ရွေးချယ်ခြင်း။
select()
ဆင်ခြေ jစတုရန်းကွင်းများအတွင်း ဒုတိယနေရာ
ကျွန်ုပ်တို့သည် စတုရန်းကွင်းစကွက်များတွင် လိုအပ်သောကော်လံများစာရင်းကို ဖြတ်သွားသည် / drop() / filter() / select_dtypes()

တန်းစီစစ်ခြင်း။
filter()
ဆင်ခြေ iစတုရန်းကွင်းများအတွင်း ပထမနေရာ
ကျွန်ုပ်တို့သည် စတုရန်းကွင်းစကွက်များတွင် စစ်ထုတ်ခြင်းဆိုင်ရာ အခြေအနေများကို စာရင်းပြုစုသည်/ filter()

အုပ်စုဖွဲ့ခြင်းနှင့် ပေါင်းစည်းခြင်း။
group_by() + summarise()
အငြင်းပွားမှုများ j + by
groupby() + agg()

စားပွဲများ၏ ဒေါင်လိုက်သမဂ္ဂ (UNION)
bind_rows()
rbind()
concat()

အလျားလိုက် ဇယားများ ပါဝင်ခြင်း (JOIN)
left_join() / *_join()
merge()
merge()

အခြေခံဝင်းဒိုးလုပ်ဆောင်ချက်များနှင့် တွက်ချက်ထားသော ကော်လံများထည့်ခြင်း။
group_by() + mutate()
ဆင်ခြေ j operator ကို အသုံးပြု := + အငြင်းအခုံ by
transform() + assign()

ကောက်ချက်

ဆောင်းပါးတွင် ကျွန်ုပ်သည် data processing ၏ အကောင်းမွန်ဆုံးသော အကောင်အထည်ဖော်မှုများကို မဖော်ပြထားပေ၊ ထို့ကြောင့် မှတ်ချက်များတွင် ကျွန်ုပ်၏အမှားများကို သင်ပြင်ပေးမည်ဆိုလျှင် သို့မဟုတ် R/ Python တွင် data နှင့်အလုပ်လုပ်ရန်အတွက် အခြားသောနည်းပညာများဖြင့် ဆောင်းပါးတွင်ဖော်ပြထားသောအချက်အလက်များကို ရိုးရိုးရှင်းရှင်းဖြည့်စွက်ပေးမည်ဆိုပါက ဝမ်းမြောက်ပါမည်။

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

ဆောင်းပါးကို ကြိုက်နှစ်သက်ပါက ကျွန်ုပ်၏ စာရင်းသွင်းသူအသစ်များ ရှိလာသည့်အတွက် ဝမ်းမြောက်မိပါသည်။ youtube က и ကြေးနန်းစာ ချန်နယ်များ။

အင်တာဗျူး

သင့်လုပ်ငန်းတွင် အောက်ပါပက်ကေ့ဂျ်များထဲမှ မည်သည့်အရာကို သင်အသုံးပြုသနည်း။

မှတ်ချက်များတွင် သင်သည် သင်၏ရွေးချယ်မှုအတွက် အကြောင်းပြချက်ကို ရေးသားနိုင်သည်။

စာရင်းသွင်းအသုံးပြုသူများသာ စစ်တမ်းတွင် ပါဝင်နိုင်ပါသည်။ ဆိုင်းအင်လုပ်ခြင်း, ကျေးဇူးပြု။

မည်သည့်ဒေတာ စီမံဆောင်ရွက်ပေးခြင်း ပက်ကေ့ဂျ်ကို သင်အသုံးပြုပါသလဲ (ရွေးချယ်စရာများစွာကို သင်ရွေးချယ်နိုင်သည်)

  • 45,2%သန့်ရှင်းသပ်ရပ်မှု ၁၉

  • 33,3%data.table14

  • 54,8%ပန်ဒါ ၂၃

အသုံးပြုသူ 42 ဦး မဲပေးခဲ့သည်။ သုံးစွဲသူ ၁၉ ဦး ရှောင်နေခဲ့ပါတယ်။

source: www.habr.com

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster