最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用pandas計算環(huán)比和同比的方法實例

 更新時間:2022年03月25日 09:11:55   作者:theskylife  
同比和環(huán)比都是為了顯示數(shù)據(jù)的變化速度,但是基數(shù)不同,同比側(cè)重長期數(shù)據(jù)趨勢變化,環(huán)比側(cè)重于短期內(nèi)數(shù)據(jù)趨勢變化,下面這篇文章主要給大家介紹了關(guān)于如何使用pandas計算環(huán)比和同比的相關(guān)資料,需要的朋友可以參考下

前言

在進(jìn)行業(yè)務(wù)數(shù)據(jù)分析時,往往需要使用pandas計算環(huán)比、同比及增長率等指標(biāo),為了能夠更加方便的進(jìn)行的統(tǒng)計數(shù)據(jù),整理方法如下。

1.數(shù)據(jù)準(zhǔn)備

為方便進(jìn)行演示,此處提前生成需要進(jìn)行統(tǒng)計的數(shù)據(jù),數(shù)據(jù)已經(jīng)是按照時間維度進(jìn)行排序。

months = pd.date_range(start='2010-01-01', end='2020-12-31', freq='M')
test_df = pd.DataFrame({'month': months,
                  'v': 100*np.random.rand(months.shape[0], 1).reshape(months.shape[0])})

2.環(huán)比計算

2.1 方法1

test_df['v_last']=test_df['v'].shift(1)
test_df['month_erlier_1']=test_df['v']/test_df['v_last']-1

2.2 方法2

test_df['m_m_diff']=test_df['v'].diff()
test_df['month_erlier_2']=test_df['m_m_diff']/test_df['v'].shift(1)

2.3 方法3

test_df['month_erlier_3']=test_df['v'].pct_change()

3.同比計算

繼續(xù)使用上述構(gòu)建的數(shù)據(jù)源進(jìn)行計算。

3.1 方法1

test_df["last_year_v"]=test_df['v'].shift(12)
test_df['year_erlier_1']=test_df['v']/test_df['last_year_v']-12

3.2 方法2

test_df["year_diff"]=test_df['v'].diff(12)
test_df['year_diff'].fillna(0,inplace=True)
test_df['year_erlier_2']=test_df['year_diff']/(test_df['v']-test_df['year_diff'])

3.3 方法3

test_df['year_erlier_3']=test_df["v"].pct_change(periods=12)

4.關(guān)于pct_change()函數(shù)

pct_change主要涉及一下參數(shù):

  • periods=1,用來設(shè)置計算的周期。
  • fill_method=‘pad’,如何在計算百分比變化之前處理缺失值(NA)。
  • limit=None,設(shè)置停止填充條件,即當(dāng)遇到填充的連續(xù)缺失值的數(shù)量n時,停止此處填充
  • freq=None,從時間序列 API 中使用的增量(例如 ‘M’ 或 BDay())

4.1 使用例子1

#構(gòu)建數(shù)據(jù)
months = pd.date_range(start='2020-01-01', end='2020-12-31', freq='M')
test_df2 = pd.DataFrame({'month': months,
                  'v': 100*np.random.rand(months.shape[0], 1).reshape(months.shape[0])})
test_df2.loc[((test_df2.index>5) & (test_df2.index<9) ),'v']=np.nan
test_df2.loc[test_df2.index==3,'v']=np.nan
test_df2.loc[test_df2.index==10,'v']=np.nan

數(shù)據(jù)展示:

原始數(shù)據(jù)

計算環(huán)比:

#向下進(jìn)行填充,當(dāng)連續(xù)缺失值的數(shù)量大于2時不進(jìn)行填充
test_df2['v'].pct_change(1,fill_method='ffill',limit=2)

計算效果圖:

環(huán)比計算

4.2 使用例子2

# 生成樣本數(shù)據(jù)
test_df3 = pd.DataFrame({'2020': 100*np.random.rand(5).reshape(5),
                         '2019': 100*np.random.rand(5).reshape(5),
                         '2018':  100*np.random.rand(5).reshape(5)})

樣本數(shù)據(jù)截圖:

樣本2

計算同環(huán)比:

test_df3.pct_change(axis='columns',periods=-1)

計算效果截圖:

計算結(jié)果2

4.3 使用例子3

#構(gòu)建數(shù)據(jù)樣本
months = pd.date_range(start='2020-01-01', end='2020-12-31', freq='M')

test_df4 = pd.DataFrame({
    'v': 100*np.random.rand(months.shape[0], 1).reshape(months.shape[0])}, index=months)

數(shù)據(jù)樣本截圖:

樣本3

計算季度末環(huán)比:

test_df4["v"].pct_change(freq="Q")

計算效果圖:

季末計算環(huán)比

計算過程解釋:

2020-03-31行處的值:使用3月份和1月份進(jìn)行環(huán)比,即55.717305/84.492806-1
2020-06-30行處的值:使用6月份和3月份進(jìn)行環(huán)比

計算環(huán)比增長

方法一:

for i in range(0,len(data)):
    if i == 0:
        data['huanbi'][i] = 'null'
    else:
        data['huanbi'][i] = format((data['mony'][i] - data['mony'][i-1])/data['mony'][i-1],'.2%')
        #format(res,'.2%') 小數(shù)格式化為百分?jǐn)?shù)

方法二:

使用diff(periods=1, axis=0)) 一階差分函數(shù)

periods:移動的幅度 默認(rèn)值為1

axis:移動的方向,{0 or ‘index’, 1 or ‘columns’},如果為0或者’index’,則上下移動,如果為1或者’columns’,則左右移動。默認(rèn)列向移動

data['huanbi_1'] = data.mony.diff()

方法三:

使用pct_change()

data['huanbi_1'] = data.mony.pct_change()
data.fillna(0,inplace=True)

計算同比增長

使用一階差分函數(shù)diff()

data['tongbi_shu'] = data.mony.diff(12)
data.fillna(0,inplace=True)
data['tongbi'] = data['tongbi_shu']/(data['mony'] - data['tongbi_shu'])
``

5.后記

以上就是時候用pandas進(jìn)行計算同比和環(huán)比的方法,請在使用過程中,結(jié)合數(shù)據(jù)情況先進(jìn)行數(shù)據(jù)清洗后,再選擇合適的方法進(jìn)行計算。

到此這篇關(guān)于使用pandas計算環(huán)比和同比的文章就介紹到這了,更多相關(guān)pandas計算環(huán)比和同比內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python logging 重復(fù)寫日志問題解決辦法詳解

    python logging 重復(fù)寫日志問題解決辦法詳解

    這篇文章主要介紹了python logging 重復(fù)寫日志問題解決辦法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 使用python的turtle繪畫滑稽臉實例

    使用python的turtle繪畫滑稽臉實例

    今天小編就為大家分享一篇使用python的turtle繪畫滑稽臉實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python實現(xiàn)跨年煙花動態(tài)效果

    python實現(xiàn)跨年煙花動態(tài)效果

    這篇文章主要介紹了python實現(xiàn)跨年煙花的動態(tài)效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-01-01
  • python 基于opencv操作攝像頭

    python 基于opencv操作攝像頭

    這篇文章主要介紹了python 基于opencv操作攝像頭的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • PyTorch中torch.save()的用法和應(yīng)用小結(jié)

    PyTorch中torch.save()的用法和應(yīng)用小結(jié)

    本文主要介紹了PyTorch中torch.save()的用法和應(yīng)用小結(jié),torch.save()的主要作用就是將PyTorch對象保存到磁盤上,下面就來具體介紹一下,感興趣的可以了解一下
    2024-03-03
  • Python編程中被忽視的核心技巧總結(jié)

    Python編程中被忽視的核心技巧總結(jié)

    這篇文章主要介紹了一些在?Python?編程中可能被忽視的核心功能,包括默認(rèn)參數(shù)、海象運算符、*args?和?**kwargs?的使用等,需要的可參考下
    2023-08-08
  • Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)

    Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)

    今天給大家?guī)淼氖顷P(guān)于Python函數(shù)的相關(guān)知識,文章圍繞著Python不定長參數(shù)展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 簡單介紹Python中的幾種數(shù)據(jù)類型

    簡單介紹Python中的幾種數(shù)據(jù)類型

    Python基本內(nèi)置數(shù)據(jù)類型有很多種,比如:整型(數(shù)字)、字符串、元組、列表、字典和布爾類型,下面就來給大家詳細(xì)介紹下
    2016-01-01
  • tensorflow 輸出權(quán)重到csv或txt的實例

    tensorflow 輸出權(quán)重到csv或txt的實例

    今天小編就為大家分享一篇tensorflow 輸出權(quán)重到csv或txt的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 關(guān)于VSCode?配置使用?PyLint?語法檢查器的問題

    關(guān)于VSCode?配置使用?PyLint?語法檢查器的問題

    這篇文章主要介紹了VSCode?配置使用?PyLint?語法檢查器,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06

最新評論

泾川县| 长垣县| 滨州市| 仙居县| 镇宁| 石首市| 衡东县| 彰化市| 阿尔山市| 高陵县| 仙游县| 长沙县| 廊坊市| 竹北市| 廊坊市| 上蔡县| 静安区| 双柏县| 西畴县| 常山县| 阳春市| 吉林市| 应城市| 七台河市| 遵义市| 将乐县| 吉安市| 衡水市| 余姚市| 安化县| 抚松县| 康平县| 安图县| 郎溪县| 宁河县| 遂宁市| 金阳县| 定结县| 宁都县| 邛崃市| 梅河口市|