Python數(shù)據(jù)分析案例之時間序列分析

概述:什么是時間序列
顧名思義,時間序列就是按照時間順序排列的一組數(shù)據(jù)序列。時間序列分析就是找出數(shù)據(jù)變化發(fā)展的規(guī)律,從而預(yù)測未來的走勢。 時間序列分析有以下幾種表現(xiàn)形式: ○長期趨勢變化:受某種因素的影響,數(shù)據(jù)依據(jù)時間變化,按某種規(guī)則穩(wěn)步增長或下降。使用的分析方法有:移動平均法、指數(shù)平滑法等。 ○季節(jié)性周期變化:受季節(jié)更替等因素影響,數(shù)據(jù)依據(jù)固定周期規(guī)則性的變化。季節(jié)性周期變化,不局限于自然季節(jié),還包括月、周等短期周期。例如,空調(diào)、羽絨服、冷飲的銷售,雙十一、雙十二流量在一周之內(nèi)的波動等。采用的方法:季節(jié)指數(shù)。 ○循環(huán)變化:指一種較長時間的上下起伏周期性波動,一般循環(huán)時間在2~15 年。 ○ 隨機性變化:由許多不確定因素引起的數(shù)據(jù)變化,在時間序列中無法預(yù)計。案例: 年增長趨勢和季節(jié)性波動分析
下面分析淘寶店鋪近三年的增長趨勢和季節(jié)性波動,如圖13 所示。從分析結(jié)果得出,近三年淘寶店鋪的收入呈現(xiàn)持續(xù)穩(wěn)定增長趨勢,但在2019 年有所下降,季節(jié)性波動比較明顯,而每年的第4 季度是銷售“旺季”。 
圖13 年增長趨勢和季節(jié)性波動
程序代碼如下:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('TB.xls')
df1=df[['訂單付款時間','買家實際支付金額']]
df1 = df1.set_index('訂單付款時間') #將“訂單付款時間”設(shè)置為索引
plt.rcParams['font.sans-serif']=['SimHei'] #解決中文亂碼
#按年統(tǒng)計數(shù)據(jù)
df_y=df1.resample('AS').sum().to_period('A')
print(df_y)
#按季度統(tǒng)計數(shù)據(jù)
df_q=df1.resample('Q').sum().to_period('Q')
print(df_q)
#繪制子圖
fig = plt.figure(figsize=(8,3))
ax=fig.subplots(1,2)
df_y.plot(subplots=True,ax=ax[0])
df_q.plot(subplots=True,ax=ax[1])
#調(diào)整圖表距上部和底部的空白
plt.subplots_adjust(top=0.95,bottom=0.2)
plt.show()__

評論
圖片
表情
