Python တွင် frequency tables ဖန်တီးနည်း


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

ဤသင်ခန်းစာတွင် Python တွင် ကြိမ်နှုန်းဇယားများဖန်တီးနည်းကို ရှင်းပြထားသည်။

စီးရီးတစ်ခုအတွက် တစ်လမ်းသွား ကြိမ်နှုန်းဇယား

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

 import pandas as pd

#defineSeries
data = pd.Series([1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 5])

#find frequencies of each value
data.value_counts()

3 4
1 3
4 2
5 1
2 1

ဒေတာတန်ဖိုးများကို ကြိမ်နှုန်းဖြင့် စီရန်မလိုလားပါက sort=False အကြောင်းပြချက်ကို သင်ထည့်နိုင်သည်။

 data.value_counts(sort= False )

1 3
2 1
3 4
4 2
5 1

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

  • “ 1” တန်ဖိုးသည် စီးရီးတွင် 3 ကြိမ်ပေါ်လာသည်။
  • တန်ဖိုး “ 2” သည် စီးရီးတွင် 1 ကြိမ်ပေါ်လာသည်။
  • “ 3” တန်ဖိုးသည် စီးရီးတွင် 4 ကြိမ်ပေါ်လာသည်။

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

DataFrame အတွက် တစ်လမ်းသွား ကြိမ်နှုန်းဇယား

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

crosstab (အညွှန်းများ၊ ကော်လံများ)

ရွှေ-

  • အညွှန်း- အုပ်စုအလိုက် ကော်လံအမည်
  • ကော်လံများ- ကြိမ်နှုန်းကော်လံကို ပေးရမည့်အမည်

ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့တွင် အတန်းတစ်ခုရှိ မတူညီသော ကျောင်းသား 10 ဦး၏ အတန်း၊ အသက်နှင့် လိင်ဆိုင်ရာ အချက်အလက်များ ပါဝင်သော DataFrame တစ်ခုရှိသည် ဆိုကြပါစို့။ ဤသည်မှာ စာလုံးအဆင့်တစ်ခုစီ၏ ကြိမ်နှုန်းကို မည်သို့ရှာရမည်နည်း။

 #create data
df = pd.DataFrame({'Grade': ['A','A','A','B','B', 'B', 'B', 'C', 'D', 'D '],
                   'Age': [18, 18, 18, 19, 19, 20, 18, 18, 19, 19],
                   'Gender': ['M','M', 'F', 'F', 'F', 'M', 'M', 'F', 'M', 'F']})

#view data
df

	Grade Age Gender
0 to 18 m
1 to 18 m
2 A 18 F
3 B 19 F
4 B 19 F
5 B 20 M
6 B 18 M
7 C 18 F
8 D 19 M
9 D 19 F 	  

#find frequency of each letter grade
pd.crosstab(index=df[' Grade '], columns=' count ')

col_0 count
Grade	
At 3
B4
C 1
D 2

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

  • အတန်းထဲတွင် ကျောင်းသား ၃ ယောက် က “A” ကို ရရှိခဲ့သည်။
  • အတန်းထဲတွင် ကျောင်းသား (၄) ဦးသည် “B” ကို ရရှိခဲ့သည်။
  • အတန်းထဲတွင် ကျောင်းသား ၁ ဦး သည် “C” ကို ရရှိခဲ့သည်။
  • အတန်းထဲတွင် ကျောင်းသား 2 ယောက် “ D” ကို ရရှိခဲ့သည်။

အခြားကော်လံများအတွက် ကြိမ်နှုန်းအရေအတွက်များကို ရှာဖွေရန် အလားတူ syntax ကို အသုံးပြုနိုင်ပါသည်။ ဥပမာအားဖြင့်၊ ဤသည်မှာ အသက်အရွယ်အလိုက် အကြိမ်ရေကိုရှာဖွေနည်းဖြစ်သည်-

 pd.crosstab(index=df[' Age '], columns=' count ') 

col_0 count
Age	
18 5
19 4
20 1

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

  • ကျောင်းသား ၅ ယောက် က အသက် ၁၈ နှစ်။
  • ကျောင်းသား ၄ ယောက် က အသက် ၁၉ နှစ်။
  • ကျောင်းသား ၁ ယောက် က အသက် ၂၀ ပါ။

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

 #define crosstab
tab = pd.crosstab(index=df['Age'], columns='count')

#find proportions 
tab/tab.sum()

col_0 count
Age	
18 0.5
19 0.4
20 0.1

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

  • ကျောင်းသားများ၏ 50% သည် အသက် 18 နှစ်ဖြစ်သည်။
  • ကျောင်းသား ၄၀ ရာခိုင်နှုန်းသည် အသက် ၁၉ နှစ်ဖြစ်သည်။
  • ကျောင်းသားများ၏ 10% သည် အသက် 20 နှစ်များဖြစ်သည်။

DataFrame အတွက် Bidirectional ကြိမ်နှုန်းဇယားများ

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

 pd.crosstab(index=df[' Age '], columns=df[' Grade '])


Grade A B C D
Age				
18 3 1 1 0
19 0 2 0 2
20 0 1 0 0

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

  • အတန်းထဲတွင် “ A” ရရှိသော အသက် 18 နှစ်အရွယ် ကျောင်းသား 3 ယောက်ရှိသည်။
  • အတန်းထဲတွင် “ B” ရရှိထားသည့် အသက် 18 နှစ်အရွယ် ကျောင်းသား 1 ယောက်ရှိသည်။
  • အတန်းထဲတွင် “ C” ရရှိထားသည့် အသက် 18 နှစ်အရွယ် ကျောင်းသား 1 ယောက်ရှိသည်။
  • အတန်းထဲတွင် “D” ရရှိသော အသက် 18 နှစ်အရွယ် ကျောင်းသား 0 ရှိပါသည်။

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

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

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

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