Pandas ရှိ moving average ကို တွက်ချက်နည်း
ရွေ့လျားပျမ်းမျှ သည် အချိန်စီးရီးတစ်ခုရှိ ယခင်ကာလများစွာ၏ ပျမ်းမျှဖြစ်သည်။
pandas DataFrame တွင် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကော်လံများ၏ ရွေ့လျားမှုပျမ်းမျှအား တွက်ချက်ရန်၊ ကျွန်ုပ်တို့သည် အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။
df[' column_name ']. rolling ( rolling_window ). mean ()
ဤသင်ခန်းစာသည် ဤလုပ်ဆောင်ချက်ကို လက်တွေ့အသုံးပြုခြင်း၏ ဥပမာများစွာကို ပေးပါသည်။
ဥပမာ- ပန်ဒါများတွင် ရွေ့လျားနေသော ပျမ်းမျှအား တွက်ချက်ခြင်း။
ကျွန်ုပ်တို့တွင် အောက်ပါ ပန်ဒါ DataFrame ရှိသည် ဆိုပါစို့။
import numpy as np import pandas as pd #make this example reproducible n.p. random . seeds (0) #create dataset period = np. arange (1, 101, 1) leads = np. random . uniform (1, 20, 100) sales = 60 + 2*period + np. random . normal (loc=0, scale=.5*period, size=100) df = pd. DataFrame ({' period ': period, ' leads ': leads, ' sales ': sales}) #view first 10 rows df. head (10) period leads sales 0 1 11.427457 61.417425 1 2 14.588598 64.900826 2 3 12.452504 66.698494 3 4 11.352780 64.927513 4 5 9.049441 73.720630 5 6 13.271988 77.687668 6 7 9.314157 78.125728 7 8 17.943687 75.280301 8 9 19.309592 73.181613 9 10 8.285389 85.272259
ယခင်ကာလ 5 ခုအတွက် “ ရောင်းအား” ၏ရွေ့လျားပျမ်းမျှနှုန်းပါရှိသော ကော်လံအသစ်ကို ဖန်တီးရန် အောက်ပါအထားအသိုကို အသုံးပြုနိုင်ပါသည်။
#find rolling mean of previous 5 sales periods df[' rolling_sales_5 '] = df[' sales ']. rolling (5). mean () #view first 10 rows df. head (10) period leads sales rolling_sales_5 0 1 11.427457 61.417425 NaN 1 2 14.588598 64.900826 NaN 2 3 12.452504 66.698494 NaN 3 4 11.352780 64.927513 NaN 4 5 9.049441 73.720630 66.332978 5 6 13.271988 77.687668 69.587026 6 7 9.314157 78.125728 72.232007 7 8 17.943687 75.280301 73.948368 8 9 19.309592 73.181613 75.599188 9 10 8.285389 85.272259 77.909514
ကာလ 5 အတွက် ပြသထားသော လှိမ့်ရောင်းရငွေ ပျမ်းမျှသည် ယခင်ကာလ 5 ခု၏ ပျမ်းမျှဖြစ်ကြောင်း ကျွန်ုပ်တို့ ကိုယ်တိုင် စစ်ဆေးနိုင်သည်-
ကာလ 5 တွင် ပျမ်းမျှရွေ့လျားခြင်း- (61.417+64.900+66.698+64.927+73.720)/5 = 66.33
ကော်လံများစွာ၏ရွေ့လျားနေသောပျမ်းမျှအား တွက်ချက်ရန် အလားတူ syntax ကိုသုံးနိုင်သည်-
#find rolling mean of previous 5 leads periods df[' rolling_leads_5 '] = df[' leads ']. rolling (5). mean () #find rolling mean of previous 5 leads periods df[' rolling_sales_5 '] = df[' sales ']. rolling (5). mean () #view first 10 rows df. head (10) period leads sales rolling_sales_5 rolling_leads_5 0 1 11.427457 61.417425 NaN NaN 1 2 14.588598 64.900826 NaN NaN 2 3 12.452504 66.698494 NaN NaN 3 4 11.352780 64.927513 NaN NaN 4 5 9.049441 73.720630 66.332978 11.774156 5 6 13.271988 77.687668 69.587026 12.143062 6 7 9.314157 78.125728 72.232007 11.088174 7 8 17.943687 75.280301 73.948368 12.186411 8 9 19.309592 73.181613 75.599188 13.777773 9 10 8.285389 85.272259 77.909514 13.624963
အရောင်းပျမ်းမျှ ရွေ့လျားခြင်းနှင့် အရောင်းပျမ်းမျှကို မြင်သာစေရန် Matplotlib ကို အသုံးပြု၍ အမြန်လိုင်းကွက်တစ်ခုကိုလည်း ဖန်တီးနိုင်သည်-
import matplotlib. pyplot as plt
plt. plot (df[' rolling_sales_5 '], label=' Rolling Mean ')
plt. plot (df[' sales '], label=' Raw Data ')
plt. legend ()
plt. ylabel (' Sales ')
plt. xlabel (' Period ')
plt. show ()

အပြာရောင်မျဉ်းသည် 5 ကာလရွေ့လျားရောင်းချမှုပျမ်းမျှအားပြသပြီး လိမ္မော်ရောင်မျဉ်းသည် ကုန်ကြမ်းအရောင်းဒေတာကိုပြသသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် ပန်ဒါများတွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
ပန်ဒါများတွင် လျှောကျဆက်စပ်မှုကို တွက်ချက်နည်း
Pandas ရှိ ကော်လံများ၏ ပျမ်းမျှအား တွက်ချက်နည်း