Pandas တွင်အုပ်စုတစ်ခုစီမှ offset တွက်ချက်နည်း


Pandas DataFrame တွင် အုပ်စုလိုက်ပြောင်းထားသော တန်ဖိုးများကို တွက်ချက်ရန် အောက်ပါနည်းလမ်းများကို သင်သုံးနိုင်သည်။

နည်းလမ်း 1- အုပ်စုတစ်ခုမှ အော့ဖ်ဆက်ကို တွက်ချက်ပါ။

 df[' lagged_values '] = df. groupby ([' group '])[' values ']. shift ( 1 )

နည်းလမ်း 2- အုပ်စုများစွာဖြင့် offset တွက်ချက်ပါ။

 df[' lagged_values '] = df. groupby ([' group1 ', ' group2 '])[' values ']. shift ( 1 )

shift() function ၏တန်ဖိုးသည် shift ကိုတွက်ချက်ရန်တန်ဖိုးအရေအတွက်ကိုညွှန်ပြသည်ကိုသတိပြုပါ။

အောက်ဖော်ပြပါ ဥပမာများသည် နည်းလမ်းတစ်ခုစီကို လက်တွေ့အသုံးချနည်းကို ပြသထားသည်။

ဥပမာ 1- အုပ်စုတစ်ခုမှ အော့ဖ်ဆက်ကို တွက်ချက်ပါ။

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' sales ': [18, 10, 14, 13, 19, 24, 25, 29]})
#view DataFrame
print (df)

  blind sales
0 to 18
1 to 10
2 to 14
3 to 13
4 B 19
5 B 24
6 B 25
7 B 29

စတိုးဆိုင်တစ်ခုစီအတွက် ယခင်နေ့၏ရောင်းအားကိုပြသသည့် အော့ဖ်ဆက်ကော်လံတစ်ခုဖန်တီးရန် အောက်ပါအထားအသိုကို ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်-

 #add column that displays lag of sales column by store
df[' lagged_sales '] = df. groupby ([' store '])[' sales ']. shift ( 1 )

#view updated DataFrame
print (df)

  store sales lagged_sales
0 to 18 NaN
1 to 10 18.0
2 A 14 10.0
3 A 13 14.0
4 B 19 NaN
5 B 24 19.0
6 B 25 24.0
7 B 29 25.0

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

  • စတိုးဆိုင် A အတွက် အရောင်းကော်လံတွင် ကြိုတင်တန်ဖိုးမရှိသောကြောင့် အော့ဖ်ဆက်ကော်လံရှိ ပထမတန်ဖိုးသည် NaN ဖြစ်သည်။
  • အော့ဖ်ဆက်ကော်လံရှိ ဒုတိယတန်ဖိုးမှာ စတိုးဆိုင် A အတွက် အရောင်းကော်လံရှိ ယခင်တန်ဖိုးဖြစ်သောကြောင့် 18 ဖြစ်သည်။

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

ဥပမာ 2- အုပ်စုများစွာဖြင့် offset တွက်ချက်ပါ။

ကျွန်ုပ်တို့တွင် စတိုးဆိုင်နှစ်ဆိုင်မှ ဝန်ထမ်းများမှ အရောင်းအ၀ယ်ပြုလုပ်သော အရောင်းအ၀ယ်ကို ပြသသည့် အောက်ပါပန်ဒါ DataFrame ရှိသည်ဆိုပါစို့။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' employee ':['O', 'O', 'R', 'R', 'O', 'O', 'R', 'R'],
                   ' sales ': [18, 10, 14, 13, 19, 24, 25, 29]})
#view DataFrame
print (df)

  store employee sales
0 AO 18
1 AO 10
2 AR 14
3 AR 13
4 BO 19
5 BO 24
6 BR 25
7 BR 29

စတိုးဆိုင်တစ်ခုစီရှိ ဝန်ထမ်းတစ်ဦးစီအတွက် ယခင်နေ့၏ရောင်းအားကိုပြသသည့် အော့ဖ်ဆက်ကော်လံတစ်ခုကို ဖန်တီးရန် အောက်ပါအထားအသိုကို ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်-

 #add column that displays lag of sales column by store and employee
df[' lagged_sales '] = df. groupby ([' store ',' employee '])[' sales ']. shift ( 1 )

#view updated DataFrame
print (df)

  store employee sales lagged_sales
0 AO 18 NaN
1 AO 10 18.0
2 AR 14 NaN
3 AR 13 14.0
4 BO 19 NaN
5 BO 24 19.0
6 BR 25 NaN
7 BR 29 25.0

lagged_sales ကော်လံအသစ်သည် စတိုးဆိုင်တစ်ခုစီရှိ ဝန်ထမ်းတစ်ဦးစီအတွက် ယခင်နေ့အရောင်းအား ပြသသည်။

မှတ်ချက် – ဤဥပမာတွင်၊ ကျွန်ုပ်တို့သည် ကော်လံနှစ်ခုဖြင့် အုပ်စုဖွဲ့ထားသော်လည်း၊ groupby() လုပ်ဆောင်ချက်တွင် သင်အလိုရှိသည့်အတိုင်း ပြောင်းလဲနိုင်သောအမည်များစွာကို ထည့်သွင်းခြင်းဖြင့် သင်သည် ကော်လံများစွာဖြင့် သင်အုပ်စုဖွဲ့နိုင်ပါသည်။

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

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

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

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

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