Pandas- r နှင့် ညီမျှသော mutate() လုပ်ဆောင်ချက်ကို အသုံးပြုနည်း
R ပရိုဂရမ်းမင်းဘာသာစကားတွင်၊ ကျွန်ုပ်တို့သည် ရှိပြီးသား ကော်လံများမှ တွက်ချက်ထားသော ဒေတာဘောင်တစ်ခုသို့ ကော်လံအသစ်များကို အမြန်ထည့်ရန် dplyr အထုပ်မှ mutate() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။
ဥပမာအားဖြင့်၊ အောက်ပါကုဒ်သည် R တွင် သတ်မှတ်ထားသော ကော်လံတစ်ခု၏ ပျမ်းမျှတန်ဖိုးကို တွက်ချက်နည်းကို ပြသပြီး ၎င်းတန်ဖိုးကို ဒေတာဘောင်တစ်ခုအတွင်း ကော်လံအသစ်တစ်ခုအဖြစ် ထည့်သည်-
library (dplyr) #create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), points=c(30, 22, 19, 14, 14, 11, 20, 28)) #add new column that shows mean points by team df <- df %>% group_by(team) %>% mutate(mean_points = mean(points)) #view updated data frame df team points mean_points 1 to 30 21.2 2 A 22 21.2 3 A 19 21.2 4 A 14 21.2 5 B 14 18.2 6 B 11 18.2 7 B 20 18.2 8 B 28 18.2
ပန်ဒါများရှိ mutate() လုပ်ဆောင်ချက်နှင့် ညီမျှသည် transform() လုပ်ဆောင်ချက်ဖြစ်သည်။
အောက်ဖော်ပြပါ ဥပမာသည် ဤလုပ်ဆောင်ချက်ကို လက်တွေ့အသုံးချနည်းကို ပြသထားသည်။
ဥပမာ- R တွင် mutate() ကိုပုံတူပွားရန် ပန်ဒါများတွင် transform() ကိုအသုံးပြုခြင်း။
ကျွန်ုပ်တို့တွင် မတူညီသောအသင်းများမှ ဘတ်စကက်ဘောကစားသမားများမှ ရမှတ်များကိုပြသသည့် အောက်ပါပန်ဒါ DataFrame ရှိသည်ဆိုပါစို့။
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [30, 22, 19, 14, 14, 11, 20, 28]}) #view DataFrame print (df) team points 0 to 30 1 to 22 2 to 19 3 to 14 4 B 14 5 B 11 6 B 20 7 B 28
အဖွဲ့တစ်ခုစီမှ ရမှတ်ပျမ်းမျှရမှတ်များကိုပြသသည့် Mean_points ဟုခေါ်သော ကော်လံအသစ်တစ်ခုကို ပေါင်းထည့်ရန် transform() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။
#add new column to DataFrame that shows mean points by team df[' mean_points '] = df. groupby (' team ')[' points ']. transform (' mean ') #view updated DataFrame print (df) team points mean_points 0 to 30 21.25 1 to 22 21.25 2 A 19 21.25 3 to 14 21.25 4 B 14 18.25 5 B 11 18.25 6 B 20 18.25 7 B 28 18.25
Team A ရှိ ကစားသမားများအတွက် ပျမ်းမျှအမှတ်တန်ဖိုးသည် 21.25 ဖြစ်ပြီး Team B ရှိ ကစားသမားများအတွက် ပျမ်းမျှအမှတ်တန်ဖိုးမှာ 18.25 ဖြစ်ပြီး၊ ထို့ကြောင့် ဤတန်ဖိုးများကို ကော်လံအသစ်တစ်ခုတွင် ကစားသမားတစ်ဦးစီအလိုက် သတ်မှတ်ပေးထားပါသည်။
၎င်းသည် နိဒါန်းနမူနာတွင် mutate() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ရရှိသောရလဒ်များနှင့် ကိုက်ညီကြောင်း သတိပြုပါ။
transform() function တွင် စိတ်ကြိုက် တွက်ချက်မှုများ လုပ်ဆောင်ရန် lambda ကို အသုံးပြု နိုင်သည်ကို သတိပြုသင့်ပါသည်။
ဥပမာအားဖြင့်၊ သက်ဆိုင်ရာအသင်းရှိ ကစားသမားတစ်ဦးစီမှ ရမှတ်စုစုပေါင်းရာခိုင်နှုန်းကို တွက်ချက်ရန် အောက်ပါကုဒ်သည် lambda ကို အသုံးပြုပုံကို ပြသသည် –
#create new column called percent_of_points
df[' percent_of_points '] = df. groupby (' team ')[' points ']. transform ( lambda x:x/ x.sum ())
#view updated DataFrame
print (df)
team points percent_of_points
0 A 30 0.352941
1 A 22 0.258824
2 A 19 0.223529
3 A 14 0.164706
4 B 14 0.191781
5 B 11 0.150685
6 B 20 0.273973
7 B 28 0.383562
ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-
- Team A ၏ပထမဆုံးကစားသမားသည် Team A ၏ကစားသမားစုစုပေါင်း 85 ယောက်တွင် 30 မှတ်ရခဲ့သည်။ ထို့ကြောင့်၊ သူရမှတ်စုစုပေါင်းရာခိုင်နှုန်းမှာ 30/85 = 0.352941 ဖြစ်သည်။
- Team A ၏ဒုတိယကစားသမားသည် Team A ၏ကစားသမားများအနက်မှ 85 မှတ်အနက် 22 မှတ်ရခဲ့သည်။ ထို့ကြောင့် ၎င်း၏စုစုပေါင်းရမှတ်ရာခိုင်နှုန်းသည် 22/85 = 0.258824 ဖြစ်သည်။
နောက် … ပြီးတော့။
ကျွန်ုပ်တို့လိုချင်သော စိတ်ကြိုက်တွက်ချက်မှုများကို လုပ်ဆောင်ရန် transform() လုပ်ဆောင်ချက်တွင် lambda အငြင်းအခုံကို အသုံးပြုနိုင်ကြောင်း သတိပြုပါ။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် ပန်ဒါများတွင် အခြားဘုံလုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
Pandas တွင် GroupBy ပေါင်းစည်းနည်း
Pandas တွင် Groupby နှင့် Plot ကိုအသုံးပြုနည်း
Pandas ရှိ GroupBy ကို အသုံးပြု၍ ထူးခြားသောတန်ဖိုးများကို ရေတွက်နည်း