ဒေတာနဟင့်အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကာသကို ရလေသချယ်ရမည် - 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

မဟတ်ချက် Add