python如何計算環比增長率

2020-12-10 CDA數據分析師

CDA數據分析師 出品

認識環比增長率

很多企業比較注重自己的業務增長情況,時常會需要計算同比增長率和環比增長率。從上學的時候就有很多小夥伴搞不清楚這兩個增長率之間的區別,這裡簡單直白的解釋一下:

同比增長率從名字上就比較容易理解,指的是同期相比增長情況如何,比如今年一季度和去年一季度相比業務增長情況就可以用同比增長率來衡量,具體的計算公式為(今年一季度數據 - 去年一季度數據)/去年一季度數據。這裡的季度只是舉例用的,月份,周甚至天都可以作周期;

環比增長率的名字可能沒有那麼直觀,它指的是這一個周期與上一個周期相比增長情況如何,比如第三季度和第二季度相比,業務增長情況就可以用環比增長率來衡量,具體計算公式為(第二季度數據 - 第一季度數據)/第一季度數據。當然這裡的季度也只是舉例用的,月份,周甚至天也都可以作周期。

根據具體表格情況計算環比增長率

我們不能確保每次拿到的數據都是類似的格式,對不同格式的數據在計算環比增長率的時候,會有一些小差別。

計算環比增長率情況一

首先看一下數據集長什麼樣子:

這是一種形式的表格,不同的年份,不同產品的銷售額,對這樣一種形式的數據計算環比增長率,是比較簡單的一種形式,不需要提前對數據做過多的整理。

這裡需要注意的是,我們希望能夠保留年份信息,而用來計算的函數會把表格中所有數值型數據都進行環比運算,所以需要提前將年份信息轉化成索引:

df1 = df.set_index("year") #為了不改變原數據,將充值索引後的數據賦值給df1df1 #查看修改索引後的數據集

修改索引後的表可以直接進行計算了:

df1.pct_change() #pct_change()方法計算當前元素與先前元素之間的百分比變化

輸出結果:

這樣計算的就是每一年和前一年相比的一個環比增長率,當然實際工作中一般不會保留這麼多位小數,需要處理一下:

round(df1.pct_change(),4) #保留四位小數,由於增長率一般是百分數,所以這裡保留4位小數

輸出結果:

這樣基本就是常見的環比增長率了。

計算環比增長率情況二

來看另一種樣子的數據集:

這一種數據集明顯比上一個數據集複雜了一點,而且這是整個數據集的前十行,下邊我們簡單探索下這個數據集:

首先一目了然,一共有三列,分別是產品ID,年份,銷售金額;

然後需要探索一共有多少個產品ID,即一共有幾種產品,還有一共是幾年的數據:

data.ID.unique() #產看有幾種產品ID

輸出結果:

array(['001', '002', '003', '004', '005', '006'], dtype=object)

一共有6種產品

data.year.unique() #查看一共有幾年數據

輸出結果:

array(['2016', '2017', '2018', '2019'], dtype=object)

一共有4年的數據。

那麼這種數據要怎樣計算環比增長率呢?

有兩種方法,一種是將原數據集轉化成第一種數據集情況的樣子,第二種是不改變原數據集計算環比增長率

先看方法一

通過數據透視的方法,將原數據進行加工:

data1 = data.pivot(index = "ID",columns="year",values="amount" )data1 #為了不改變原數據,將數據透視後的結果賦值給data1

輸出結果:

這裡的行索引和列名可以進行互換,在data.pivot()的參數中進行設置就可以,雖然和第一種情況類似,但是仔細觀察又發現了不同,第一種情況數據集的行索引是年份,這份數據中行索引是產品ID,其實這個是沒有影響的,計算環比增長率的方法中有參數可以解決這種情況:

data1.pct_change(axis='columns') #只需要設置一下軸信息就可以改變運算方向

輸出結果:

橫向排列的就是每一個產品每一年的環比增長率,接下來,看另一種不對數據進行處理的方法。

再看方法二

由於一共是四年數據,規律明顯,所以運用循環的方法計算環比增長率:

s = pd.Series() #新建一個空series用來放置計算結果for i in data["ID"].unique(): #行索引是產品ID,所以有多少種商品,就循環多少次 data_new = data[data["ID"]==i] #將相同產品的數據提取出來 s = pd.concat([s,data_new["amount"].pct_change()]) #計算一種產品的環比增長率,並價格計算出的記過拼接到series中s #查看最終結果

輸出結果:

0 NaN1 -0.4793802 2.4026893 -0.2839624 NaN5 0.3867616 -0.1659267 -0.6011668 NaN9 0.09165510 -0.77360811 0.72302812 NaN13 -0.24101814 0.53450415 0.20014516 NaN17 0.03589918 -0.09147119 0.32854320 NaN21 -0.26149122 0.32679423 -0.903687dtype: float64

得出這個結果後,可以把結果作為一個新列添加到原表當中,方便對比查看:

data["growth rate"]=round(s,4)data.head(10) #由於數據集比較長,只查看前十行

輸出結果:

另一個常用參數periods

官方文檔中對這個參數的解釋是這樣的:形成百分比變化所需的時間。用直白的話解釋就是進行環比運算的周期,比如上邊所有的計算都是下一個周期和上一個周期進行的環比增長,也可計算諸如第三期與第一期相比的環比增長,只需要設置periods=2,就可以實現這樣的需求:

df1.pct_change(periods=2)#用第一個數據集為例,查看這個參數的效果

輸出結果:

關於上述計算的所有結果,感興趣的童鞋可以按照文章開頭的公式手工計算一下,看下和pct_change()計算的結果都是一樣的哦。

如何計算環比增長率是不是已經沒有什麼問題啦,YEAH!

疫情當下,昔日匆匆的步伐終於放慢了些,也是時候好好想想自己的職業計劃和人生規劃了。提前做好準備,未雨綢繆,為未來蓄能——蓄勢待發!

相關焦點

  • 同比和環比怎麼計算?同比和環比的區別是什麼?
    FX168財經網>about>正文 同比和環比怎麼計算
  • 增長率是什麼 增長率含義
    增長率也叫做增長速度,指的是增加的數額與原來的數額的比例關係,用%表示。增長率是時間序列中報告期觀察值與基期觀察值之比減1 後的結果,增長率可以分為環比增長率和定基增長率。  增長率的不同類型  增長率可以分為環比增長率和定基增長率,是指一定時期內某一數據指標的增長量與基期數據的比值。
  • Power BI如何計算非日期維度的同比環比?
    ,甚至都沒有日期維度,該怎麼計算呢?比如下面這個業務數據,每個訂單時間並不是按日期來區分的,而是按期間來劃分,一年劃分為6個期間,分別為P1、P2……上面的數據連個日期維度都沒有,如何計算每一期的同比和環比呢?其實計算邏輯與日期維度並沒有什麼不同,日期計算需要有個日期表,非日期的期間計算,同樣也需要製作一個期間維度表。
  • Excel數據透視表超級功能,快速匯總同比環比數據
    舉一個工作中的例子來說明,下表是某公司的銷售流水數據現在我們需要根據上面的數據,匯總每個月份的銷售金額,並且需要計算出和上個月的環比增量,以及環比增長率,也就是希望得到如下的結果:增量和增長率的計算邏輯是
  • 行測資料分析增長率的計算技巧
    而其中關於增長率的計算出現的頻率非常之高,下面中公教育帶大家看一下對於計算增長率題目的一些技巧。例1.2012年,加工貿易出口額為8628億美元,比上年增長3.3%;進口額4812億美元,增長2.4%。問2012年,加工貿易的順差同比增長?
  • 可持續增長率怎麼計算?
    可持續增長率該部分的知識在CPA財管考試中相當重要,可以單獨考查,也可以作為綜合題的一部分考查。值得強調的是,後續有些章節直接以可持續增長率為增長率,所以一旦不會算可持續增長率,主觀題是寸步難行。所以,一定要跟著精講班一起思考,力爭學懂、會用該公式。
  • 「行測技巧」資料分析之基期、現期、增長量和增長率
    增長率(增幅、增速)表示的是增長的速率,它是一個百分值,反應的是增加的快慢。根據增長量比較口訣「大大則大」,石油及製品的現期量和增長率均大於服裝鞋帽、針紡織品與家用電器和音像器材,所以石油及製品的增長量大於服裝鞋帽、針紡織品與家用電器和音像器材。根據增長量計算公式,計算比較石油及製品和汽車的增長量。最終結果是石油及製品增長量<汽車增長量。故2017年4月份,表中各類商品限額以上單位零售額同比增量最多的是汽車。故正確答案為C。
  • 固定收益專題報告:如何計算CPI各分項環比與同比的最新權重?
    基本分類指數的計算(1)規格品相對數的計算代表規格品價格變動的相對數為:(2)基本分類月環比指數的計算根據所屬代表規格品變動相對數,採用幾何平均法計算各基本分類的月環比指數,計算公式為:通過對CPI計算公式進行解析,可以知道,CPI某一分項環比的當月權重等於上月該分項的金額佔比,CPI某一分項同比的當月權重等於去年同月該分項的金額佔比,因此CPI各個分項的環比權重與同比權重並不相同,我們確實也看到CPI個分項的環比權重與同比權重發生分歧。環比權重如何變動?
  • Python科學計算入門書籍推薦
    今日我就推薦一些如何從零開始用python進行科學計算的書籍吧。第0本:《Python學習手冊》不得不說,歐瑞利公司出版的程序設計書籍真心不錯,詼諧幽默,很容易讓讀者接受。我是在大四期間開始自學python的,第一本書就是它。
  • 2020省考行測資料分析:增長率的計算技巧
    而其中關於增長率的計算出現的頻率非常之高,下面中公教育帶大家看一下對於計算增長率題目的一些技巧。例1.2012年,加工貿易出口額為8628億美元,比上年增長3.3%;進口額4812億美元,增長2.4%。問2012年,加工貿易的順差同比增長?
  • python計算平方和平方根的方法
    python如何計算平方和平方根在python中,有多種方法可以求一個數的平方和平方根,可以使用:內置模塊、表達式、內置函數等實現。>math.pow(4,2) 求4的平方math.sqrt(16) 求16的開平方2.使用表達式法4 ** 2 計算
  • 2018山東公務員考試行測重要知識點:年均增長率的計算
    小編提示:關注山東中公教育微信號(offcnsd),隨時隨地掌握公考資訊行測題目中求解年均增長率時會涉及到多次方的運算,在實際操作中如不藉助計算器很難精確運算。而考試是明確規定不能攜帶計算器的,因而考生遇到這類計算問題就比較頭疼。今天中公教育專家跟大家一起來看看年均增長率如何來進行估算。
  • 資料分析:快速計算平均數的增長率
    資料分析中有時會考查平均數的增長率,同學們如果能熟練掌握平均數的增長率計算公式就能快速選出正確答案。【解析】每家B2B企業交易額是一個平均數,且為B2B電子商務交易額÷B2B電子商務服務企業數量,問增長/減少百分之幾,所求為平均數的增長率。「A」是B2B電子商務交易額,【例3】問題:2011 年,我國規模以上電子信息製造業人均創造利潤的同比增速為( )。
  • 2021國考行測資料分析:年均增長率的計算
    2021國考行測資料分析:年均增長率的計算 2020-10-13 15:57:36| 中公教育 2021國家公務員考試公告或將發布,根據歷年國考時間安排
  • 2018安徽省公務員考試:增長率的計算——根據百分點
    2018安徽省公務員考試:增長率的計算——根據百分點安徽華圖 詹染不知道正在緊鑼密鼓複習省考的你,進行到哪一步了呢?對於行測中的資料分析,考點一如既往地較往年沒有大的變化,其中,增長率就是一個重點題型,它要求考生根據材料數據能夠計算、比較、分析增長率及其他增長率。今天筆者就帶各位了解一下增長率計算中的一部分內容——根據百分點來計算。增長率是一個百分數,增長率有正負號,如果說「增長」,那就是正的,如果說「下降」,那數值之前要帶負號。
  • 資料分析:事業單位之增長率的計算
    今天為大家帶來資料分析解題技巧:事業單位之增長率的計算。希望可以幫助各位考生順利備考! 今年事業單位也算是做了大改革,只考職測,就是對於考生來說是個非常好的機會,備考的種類減少,但是職測本身的分數一定會提高,都是會把全部精力放在一門學科上,所以學好資料分析就顯得尤為重要,畢竟這是一門容易學也容易得分的學科。浙江事業單位考試在資料分析這一塊的考察相對來說,相對比較簡單。
  • 資料分析高頻考點-增長率計算系列一
    【導讀】華圖國家公務員考試網同步寧夏華圖-惠丹發布:資料分析高頻考點-增長率計算系列一,詳細信息請閱讀下文!今天我們就來聊一聊資料分析中增長率的那些事。   增長率的考察,一直是行測考試的重點,了解和掌握增長率的出題方式和做法尤為重要。希望各位考生朋友能認真學習,加強練習,做到看到題目就能立刻確定考點,上手做題。考試中,常見的增長率的出題形式主要有以下幾種:   一、基礎增長率的計算:
  • python計算等差數列
    python是個高級程式語言,但是大家不要認為只有專業的編程人員才能用。事實上,他的計算功能還是蠻強大的,對於中學生,完全可以當作高級計算器來使用。P.S.:以下例子以python2.7為例。當然你會說用等差數列求和公式計算也很快。確實,以上的式子只能求簡單的等差數列和--公差為1。對於其他公差的等差數列怎麼辦呢?
  • 資料分析解題技巧:快速計算平均數的增長率
    資料分析中有時會考查平均數的增長率,同學們如果能熟練掌握平均數的增長率計算公式就能快速選出正確答案。【解析】每家 B2B 企業交易額是一個平均數,且為 B2B 電子商務交易額÷B2B 電子商務服務企業數量,問增長/減少百分之幾,所求為平均數的增長率。 「A」是B2B 電子商務交易額,
  • 2020年國考行測資料分析備考:年均增長率的計算
    年均增長率的計算一直是資料分析計算中的難點,今天中公教育專家帶大家一起梳理一下年均增長率的計算方法,希望能對大家解決這一難題有所幫助。