Pandas- crosstab() လုပ်ဆောင်ချက်တွင် aggfunc ကိုအသုံးပြုနည်း
တိကျသောမက်ထရစ်ကို အသုံးပြု၍ တန်ဖိုးများကို ပေါင်းစည်းသည့် crosstab တစ်ခုကို ဖန်တီးရန် pandas crosstab() လုပ်ဆောင်ချက်တွင် aggfunc အငြင်းအခုံကို အသုံးပြုနိုင်သည်။
p.d. crosstab (index=df. col1 , columns=df. col2 , values=df. col3 , aggfunc=' count ')
aggfunc ၏ မူရင်းတန်ဖိုးသည် “ ရေတွက်ခြင်း” ဖြစ်သော်လည်း၊ ပျမ်းမျှ၊ အလယ်အလတ်၊ ပေါင်းလဒ်၊ အနည်းဆုံး၊ အများဆုံး၊ စသည်တို့ကဲ့သို့ အခြားသော ပေါင်းစပ်နည်းလမ်းများကို သင်သတ်မှတ်နိုင်ပါသည်။
aggfunc အငြင်းအခုံတွင် ပေါင်းစည်းခြင်းနည်းလမ်းများစွာကိုလည်း သင်သတ်မှတ်နိုင်သည်-
p.d. crosstab (index=df. col1 , columns=df. col2 , values=df. col3 , aggfunc=[' min ', ' max '])
အောက်ဖော်ပြပါနမူနာများသည် အောက်ပါပန်ဒါ DataFrame ဖြင့် ဤနည်းလမ်းတစ်ခုစီကို လက်တွေ့အသုံးပြုနည်းကို ပြသသည်-
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '], ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]}) #view DataFrame print (df) team position points 0 AG 22 1 AG 25 2 AF 24 3 BG 39 4 BF 34 5 BF 20 6 BF 18 7 GC 17 8 GC 20 9 CF 19 10 CF 22
ဥပမာ 1- aggfunc တွင် တန်ဖိုးတစ်ခုဖြင့် crosstab တစ်ခုကို ဖန်တီးပါ။
ရာထူးတစ်ခုစီနှင့် အဖွဲ့ပေါင်းစပ်မှုအတွက် ပျမ်းမျှတန်ဖိုးအမှတ်များကို ပြသသည့် crosstab တစ်ခုကို ဖန်တီးရန်အတွက် အောက်ပါ crosstab() လုပ်ဆောင်ချက်ကို aggfunc=’mean’ အငြင်းအခုံဖြင့် အသုံးပြုနိုင်ပါသည်။
#create crosstab that displays mean points value by team and position p.d. crosstab (index=df. team , columns=df. position , values=df. points , aggfunc=' mean ') position F G team A 24.0 23.5 B 24.0 39.0 C 20.5 18.5
ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-
- အနေအထား F တွင်ရှိသော အသင်း A မှ ကစားသမားများ၏ ပျမ်းမျှရမှတ်မှာ 24 မှတ် ဖြစ်သည်။
- အနေအထား G တွင်ရှိသော အသင်း A ၏ ကစားသမားများ၏ ပျမ်းမျှရမှတ်မှာ 23.5 ဖြစ်သည်။
နောက် … ပြီးတော့။
အမြင့်ဆုံးတန်ဖိုးကဲ့သို့သော ပေါင်းစည်းမှုမက်ထရစ်ကို ကျွန်ုပ်တို့လည်း အသုံးပြုနိုင်ပါသည်။
#create crosstab that displays max points value by team and position p.d. crosstab (index=df. team , columns=df. position , values=df. points , aggfunc=' max ') position F G team At 24 25 B 34 39 C 22 20
ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-
- အနေအထား F တွင်ရှိသော အသင်း A ၏ ကစားသမားများအတွက် အများဆုံးရမှတ်မှာ 24 မှတ် ဖြစ်သည်။
- အနေအထား G တွင်ရှိသော အသင်း A တွင် ကစားသမားများအတွက် အများဆုံးရမှတ်မှာ 25 ဖြစ်သည်။
နောက် … ပြီးတော့။
ဥပမာ 2- aggfunc တွင် တန်ဖိုးများစွာပါသော crosstab တစ်ခုကို ဖန်တီးပါ။
နေရာတစ်ခုစီနှင့် အဖွဲ့ပေါင်းစပ်မှုတစ်ခုစီအတွက် အမှတ်တန်ဖိုးများကို မက်ထရစ်များစွာဖြင့် စုစည်းရန်အတွက် aggfunc အငြင်းအခုံတွင် တန်ဖိုးများစွာဖြင့် crosstab() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။
#create crosstab that displays min and max points by team and position p.d. crosstab (df. team , df. position , df. points , aggfunc=[' min ', ' max ']) min max position F G F G team A 24 22 24 25 B 18 39 34 39 C 19 17 22 20
ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-
- အနေအထား F တွင်ရှိသော အသင်း A ၏ ကစားသမားများအတွက် အနိမ့်ဆုံး အမှတ်တန်ဖိုးသည် 24 ဖြစ်သည်။
- ရာထူး G တွင်ရှိသော အသင်း A ကစားသမားများအတွက် အနိမ့်ဆုံးအမှတ်တန်ဖိုးသည် 22 ဖြစ်သည်။
- ရာထူး F တွင် အသင်း A ၏ ကစားသမားများအတွက် အများဆုံး အမှတ်တန်ဖိုးသည် 24 ဖြစ်သည်။
- ရာထူး G တွင်ရှိသော အသင်း A ကစားသမားများအတွက် အများဆုံးအမှတ်တန်ဖိုးသည် 25 ဖြစ်သည်။
နောက် … ပြီးတော့။
မှတ်ချက် – pandas crosstab() လုပ်ဆောင်ချက်၏ စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် အခြားဘုံပန်ဒါတာဝန်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
Pandas- ရာခိုင်နှုန်းများဖြင့် crosstab တစ်ခုကို ဖန်တီးနည်း
Pandas- GroupBy ကိုအသုံးပြုပုံနှင့် တန်ဖိုးအရေအတွက်များ
Pandas- bin အရေအတွက်ဖြင့် GroupBy ကိုအသုံးပြုနည်း