Pandas- groupby ကိုအသုံးပြုနည်းနှင့် အခြေအနေအရ ရေတွက်နည်း


အဖွဲ့လိုက်လုပ်ဆောင်ရန်နှင့် pandas DataFrame တွင် အခြေအနေအလိုက် ရေတွက်ရန် အောက်ပါအခြေခံ syntax ကို သင်အသုံးပြုနိုင်သည်-

 df. groupby (' var1 ')[' var2 ']. apply ( lambda x:(x==' val '). sum ()). reset_index (name=' count ')

ဤ သီးခြား syntax သည် var1 ကိုအခြေခံ၍ DataFrame ၏အတန်းများကိုစုဖွဲ့ပြီး var2 “ val” နှင့် ညီမျှသည့် အတန်းအရေအတွက်ကို ရေတွက်သည်။

အောက်ဖော်ပြပါ ဥပမာသည် ဤ syntax ကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။

ဥပမာ- Pandas တွင် Groupby နှင့် Condition with Count

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' pos ': ['Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28]})

#view DataFrame
print (df)

  team pos points
0 A Gu 18
1 A Fo 22
2 A Fo 19
3 A Fo 14
4 B Gu 14
5 B Gu 11
6 B Fo 20
7 B Fo 28

အောက်ပါကုဒ်သည် DataFrame ကို team variable ဖြင့် အုပ်စုဖွဲ့နည်းနှင့် pos variable “ Gu” နှင့် ညီမျှသည့် အတန်းအရေအတွက်ကို ရေတွက်ပြသည်-

 #groupby team and count number of 'pos' equal to 'Gu'
df_count = df. groupby (' team ')[' pos ']. apply ( lambda x: (x==' Gu '). sum ()). reset_index (name=' count ')

#view results
print (df_count)

  team count
0 to 1
1 B 2

ရလဒ်မှ ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • အဖွဲ့ A တွင် pos ကော်လံသည် “Gu” နှင့် ညီမျှသည့် အတန်း 1 တန်း ရှိသည်
  • Team B တွင် pos ကော်လံသည် “Gu” နှင့် ညီမျှသော အတန်း 2 တန်း ရှိသည်

အဖွဲ့လိုက်လုပ်ဆောင်ရန်နှင့် ကိန်းဂဏာန်းအခြေအနေဖြင့် ရေတွက်ရန် အလားတူ syntax ကို အသုံးပြုနိုင်ပါသည်။

ဥပမာအားဖြင့်၊ အောက်ပါကုဒ်သည် အသင်း ပြောင်းကိန်းအလိုက် အုပ်စုဖွဲ့နည်းကိုပြသပြီး အမှတ် ကွဲလွဲနိုင်သည့်အမှတ် 15 ထက်ကြီးသော အတန်းအရေအတွက်ကို ရေတွက်ပြသည်-

 #groupby team and count number of 'points' greater than 15
df_count = df. groupby (' team ')[' points ']. apply ( lambda x: (x>15). sum ()). reset_index (name=' count ')

#view results
print (df_count)

  team count
0 to 3
1 B 2

ရလဒ်မှ ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • အဖွဲ့ A တွင် ရမှတ် ကော်လံ 15 ထက် ကြီးသော 3 လိုင်းရှိသည်။
  • အဖွဲ့ B တွင် ရမှတ် ကော်လံ 15 ထက် ကြီးသော လိုင်း 2 ခု ရှိသည်။

အဖွဲ့လိုက်လုပ်ဆောင်ရန်နှင့် သင်အလိုရှိသော သီးခြားအခြေအနေတစ်ခုဖြင့် ရေတွက်ရန် အလားတူ syntax ကို အသုံးပြုနိုင်သည်။

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

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

Pandas GroupBy ကို အသုံးပြု၍ ထူးခြားသောတန်ဖိုးများကို ရေတွက်နည်း
Pandas Groupby တွင် လုပ်ဆောင်ချက်တစ်ခုကို မည်သို့အသုံးပြုရမည်နည်း။
Pandas GroupBy မှ Bar Plot တစ်ခုဖန်တီးနည်း

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

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