Pandas- အုပ်စုအလိုက် ကွဲပြားမှုဖြင့် အသုံးပြုနည်း


ပန်ဒါများတွင် diff() လုပ်ဆောင်ချက်ဖြင့် groupby() လုပ်ဆောင်ချက်ကို အသုံးပြုရန် အောက်ပါအခြေခံ syntax ကို သင်အသုံးပြုနိုင်သည်-

 df = df. sort_values (by=[' group_var1 ', ' group_var2 '])

df[' diff '] = df. groupby ([' group_var1 '])[' values_var ']. diff (). fillna ( 0 )

ဤဥပမာသည် DataFrame ၏အတန်းများကို သတ်သတ်မှတ်မှတ်ကွဲလွဲချက်နှစ်ခုဖြင့် စီစစ်ပြီး ၎င်းတို့ကို group_var1 ဖြင့် အုပ်စုဖွဲ့ကာ values_var ကော်လံရှိ အတန်းများကြား ခြားနားချက်ကို တွက်ချက်သည်။

Fillna(0) သည် DataFrame ရှိ ဆက်တိုက်မျဉ်းများကြားတွင် အုပ်စုကွဲလွဲနိုင်သောတန်ဖိုးများ ပြောင်းလဲသည့်အခါတိုင်း ပန်ဒါများကို သုညတစ်ခုထည့်သွင်းရန် ပြောသည်ကို သတိပြုပါ။

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

ဥပမာ- Pandas တွင် မတူညီသော groupby ကိုအသုံးပြုနည်း

ကျွန်ုပ်တို့တွင် မတူညီသောရက်စွဲများဖြင့် မတူညီသောစတိုးဆိုင်နှစ်ခုမှ ရောင်းချသည့် စုစုပေါင်းရောင်းချမှုပါရှိသော အောက်ပါပန်ဒါ DataFrame ရှိသည်ဆိုပါစို့။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' date ': pd. to_datetime (['2022-01-01', '2022-01-02',
                                           '2022-01-03', '2022-01-04',
                                           '2022-01-01', '2022-01-02',
                                           '2022-01-03', '2022-01-04']),
                   ' sales ': [12, 15, 24, 24, 14, 19, 12, 38]})

#view DataFrame
print (df)

  blind date sales
0 A 2022-01-01 12
1 A 2022-01-02 15
2 A 2022-01-03 24
3 A 2022-01-04 24
4 B 2022-01-01 14
5 B 2022-01-02 19
6 B 2022-01-03 12
7 B 2022-01-04 38

ယခု ကျွန်ုပ်တို့သည် စတိုးဆိုင်အလိုက် အုပ်စုဖွဲ့ထားသည့် ဆက်တိုက်ရက်စွဲများကြားတွင် အရောင်းတန်ဖိုးများ ကွာခြားချက်ပါရှိသော sales_diff ဟုခေါ်သော ကော်လံအသစ်တစ်ခုကို ဖန်တီးလိုသည်ဆိုကြပါစို့။

ဒါကိုလုပ်ဖို့ အောက်ပါ syntax ကို သုံးနိုင်ပါတယ်။

 #sort DataFrame by store and date
df = df. sort_values (by=[' store ', ' date '])

#create new column that contains difference between sales grouped by store
df[' sales_diff '] = df. groupby ([' store '])[' sales ']. diff (). fillna ( 0 )

#view update DataFrame
print (df)

  store date sales sales_diff
0 A 2022-01-01 12 0.0
1 A 2022-01-02 15 3.0
2 A 2022-01-03 24 9.0
3 A 2022-01-04 24 0.0
4 B 2022-01-01 14 0.0
5 B 2022-01-02 19 5.0
6 B 2022-01-03 12 -7.0
7 B 2022-01-04 38 26.0

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

ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • 1/1/2022 နှင့် 2/1/2022 ကြား စတိုးဆိုင် A ၏ ရောင်းအား ကွာခြားချက်မှာ 3 ဖြစ်သည်။
  • 02/01/2022 နှင့် 03/01/2022 ကြား စတိုးဆိုင် A ၏ ရောင်းအား ကွာခြားချက်မှာ 9 ဖြစ်သည်။
  • 1/3/2022 နှင့် 1/4/2022 ကြား စတိုးဆိုင် A ၏ ရောင်းအား ကွာခြားချက်မှာ 0 ဖြစ်သည်။

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

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

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

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

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

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