使用pandas計算環比 同比

2021-10-05 13:34:53 字數 2682 閱讀 9219

同比 和 環比 都是為了顯示資料的變化速度,但是基數不同,同比側重長期資料趨勢變化,環比側重於短期內資料趨勢變化

同比是指在同一時期內的資料趨勢變化,用於本期與同期的對比,例如本期2018-02月銷售額與同期2017-02月銷售額做對比。【(本期 - 同期)/ 同期】

環比是指在短時間內的資料趨勢變化,用去本期與臨近一起的對比,例如本期2018-02月銷售額與上一期2018-01月銷售額做對比。【(本期 - 臨近一期)/ 臨近一期】

下面是計算環比的例子,其實同比可以參照這種思路。

import pandas as pd

import random

from datetime import datetime

import matplotlib.pyplot as plt

date =

list

(pd.date_range(

'1/1/2017'

, periods=

24, freq=

'm')

)#生成日期

sale =

[random.randint(

1000

,9000

)for i in

range(0

,24)]

#隨機生成銷售額

data = pd.dataframe(

)#組成乙個dataframe

data.head(

)

date

sale

02017-01-31

2444

12017-02-28

1044

22017-03-31

7069

32017-04-30

2996

42017-05-31

5050

data[

'diff'

]= data[

"sale"

].diff(

)

data.head(

)

date

sale

diff

02017-01-31

2444

nan1

2017-02-28

1044

-1400.0

22017-03-31

7069

6025.0

32017-04-30

2996

-4073.0

42017-05-31

5050

2054.0

data[

"huanbi"]=

["nan"]+

[i/j for i,j in

zip(

list

(data[

'diff'])

[1:]

,list

(data[

'sale'])

[:23]

)]data.head(

)

date

sale

diff

huanbi

02017-01-31

2444

nannan

12017-02-28

1044

-1400.0

-0.572831

22017-03-31

7069

6025.0

5.77107

32017-04-30

2996

-4073.0

-0.576178

42017-05-31

5050

2054.0

0.685581

data1 = data.iloc[1:

]#去掉第一行

data1 = data1.set_index(

['date'

], drop=

true

)#設定索引

#時序圖

plt.figure(figsize=(10

,6))

plt.rcparams[

'font.sans-serif']=

['simhei'

]#用來正常顯示中文標籤

plt.rcparams[

'axes.unicode_minus']=

false

#用來正常顯示負號

data1[

"huanbi"

].plot(

)plt.xlabel(

'日期'

,fontsize=

12,verticalalignment=

'top'

)plt.ylabel(

'環比'

計算同比 環比 PowerBI中同比環比那點事

哈嘍,這裡是白茶。乙個powerbi的初學者,記得在剛開始學dax的時候,乙個同比環比的問題困擾了我很久,每次都是覺得自己剛剛理解一點東西了,但是發現後續的坑更多。話不多說,look!這是我自己做的示例檔案,準備測試工作。將資料匯入powerbi中。begin 下面就可以準備進行同比環比的測試了,白...

MySQL 計算同比環比

主要思路 分別查詢出上月的資料為一張表,本月的資料為一張表 使用 left join 連線兩張表,並使用 where 語句釃浚符合條件的資料行 使用 case when 語句計算這張聯合表相應列的比值,即為同比環比資料 實際語句示例 計算同比 select s1.id,currdate,currsu...

視窗函式計算同比環比

環比,表示連續2個單位週期 比如連續兩月 內的量的變化比,反映本期比上期增長了多少 計算公式 環比增長率 本期數 上期數 上期數 100 例如某 2018年2月份銷售額比2018年1月份銷售額增長了多少。同比,今年第n月與去年第n月比,用以說明本期發展水平與去年同期發展水平對比而達到的相對發展速度,...