Pandas- ရာခိုင်နှုန်းများဖြင့် crosstab တစ်ခုကို ဖန်တီးနည်း


နံပါတ်များအစား ရာခိုင်နှုန်းတန်ဖိုးများကိုပြသသည့် crosstab ကိုဖန်တီးရန် pandas crosstab() လုပ်ဆောင်ချက်တွင် ပုံမှန် အငြင်းပွားမှုကို သင်အသုံးပြုနိုင်သည်-

 p.d. crosstab (df. col1 , df. col2 , normalize=' index ')

normalize argument သည် မတူညီသော အကြောင်းပြချက်သုံးခုကို လက်ခံသည်-

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

အောက်ဖော်ပြပါနမူနာများသည် အောက်ပါပန်ဒါ 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

ဤသည်မှာ အသင်းတစ်သင်းနှင့် အနေအထားအတွက် ကစားသမားအရေအတွက်အတွက် ပုံသေ crosstab သည် မည်သို့မည်ပုံဖြစ်သည်-

 #create crosstab that displays count by team and position
p.d. crosstab (df. team , df. position )

position F G
team		
AT 12
B 3 1
C 2 2

ဥပမာ 1- တန်ဖိုးအားလုံးနှင့် ဆက်စပ်သော ရာခိုင်နှုန်းများဖြင့် crosstab တစ်ခုကို ဖန်တီးပါ။

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

 #create crosstab that displays counts as percentage relative to total count
p.d. crosstab (df. team , df. position , normalize=' all ')

position F G
team		
A 0.090909 0.181818
B 0.272727 0.090909
C 0.181818 0.181818

ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-

  • အနေအထား F တွင်ရှိသော အသင်း A ကစားသမားများသည် စုစုပေါင်း ကစားသမားများ၏ 9.09% ကို ကိုယ်စားပြုသည်။
  • အနေအထား G တွင်ရှိသော အသင်း A ကစားသမားများသည် စုစုပေါင်း ကစားသမားများ၏ 18.18% ကို ကိုယ်စားပြုသည်။

နောက် … ပြီးတော့။

ဥပမာ 2- အတန်းစုစုပေါင်းများနှင့် ယှဉ်၍ ရာခိုင်နှုန်းများပါသော crosstab တစ်ခုကို ဖန်တီးပါ။

အတန်းစုစုပေါင်းနှင့်ဆက်စပ်သောတန်ဖိုးတစ်ခုစီ၏ရာခိုင်နှုန်းများကိုပြသသည့် crosstab တစ်ခုကိုဖန်တီးရန် normalize=index argument ဖြင့် crosstab() function ကိုသုံးနိုင်သည်။

 #create crosstab that displays counts as percentage relative to row totals
p.d. crosstab (df. team , df. position , normalize=' index ')

position F G
team		
A 0.333333 0.666667
B 0.750000 0.250000
C 0.500000 0.500000

ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-

  • F တွင်ရှိသော ကစားသမားများသည် အသင်း A ၏ စုစုပေါင်းကစားသမားများ၏ 33.33% ကို ကိုယ်စားပြုသည်။
  • ရာထူး F မှ ကစားသမားများသည် အသင်း B တွင် စုစုပေါင်း ကစားသမား 75% ကို ကိုယ်စားပြုသည်။
  • ရာထူး F မှ ကစားသမားများသည် အသင်း C တွင် စုစုပေါင်း ကစားသမား 50% ကို ကိုယ်စားပြုသည်။

နောက် … ပြီးတော့။

ဥပမာ 3- ကော်လံစုစုပေါင်းများနှင့် ယှဉ်၍ ရာခိုင်နှုန်းများပါသော crosstab တစ်ခုကို ဖန်တီးပါ။

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

 #create crosstab that displays counts as percentage relative to column totals
p.d. crosstab (df. team , df. position , normalize=' columns ')

position F G
team		
A 0.166667 0.4
B 0.500000 0.2
C 0.333333 0.4

ဤသည်မှာ ရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-

  • အသင်း A ကစားသမားများသည် F အနေအထားဖြင့် စုစုပေါင်းကစားသမားများ၏ 16.67% ကို ကိုယ်စားပြုသည်။
  • Team B ကစားသမားများသည် F အနေအထားဖြင့် စုစုပေါင်းကစားသမားများ၏ 50% ကို ကိုယ်စားပြုသည်။
  • Team C ကစားသမားများသည် F အနေအထားဖြင့် စုစုပေါင်းကစားသမားများ၏ 33.33% ကို ကိုယ်စားပြုသည်။

နောက် … ပြီးတော့။

မှတ်ချက် – pandas crosstab() လုပ်ဆောင်ချက်၏ စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။

ထပ်လောင်းအရင်းအမြစ်များ

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

Pandas- GroupBy ကိုအသုံးပြုပုံနှင့် တန်ဖိုးအရေအတွက်များ
Pandas- bin အရေအတွက်ဖြင့် GroupBy ကိုအသုံးပြုနည်း
Pandas- အခြေအနေဖြင့် ကော်လံတစ်ခုတွင် တန်ဖိုးများကို ရေတွက်နည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်