Python数据分析案例之时间序列分析

共 4211字,需浏览 9分钟

 ·

2024-04-11 06:34


f0b368ce2d2dbc278431425261a7dac7.webp




概述:什么是时间序列

顾名思义,时间序列就是按照时间顺序排列的一组数据序列。时间序列分析就是找出数据变化发展的规律,从而预测未来的走势。 时间序列分析有以下几种表现形式: ○长期趋势变化:受某种因素的影响,数据依据时间变化,按某种规则稳步增长或下降。使用的分析方法有:移动平均法、指数平滑法等。 季节性周期变化:受季节更替等因素影响,数据依据固定周期规则性的变化。季节性周期变化,不局限于自然季节,还包括月、周等短期周期。例如,空调、羽绒服、冷饮的销售,双十一、双十二流量在一周之内的波动等。采用的方法:季节指数。 循环变化:指一种较长时间的上下起伏周期性波动,一般循环时间在2~15 年。  随机性变化:由许多不确定因素引起的数据变化,在时间序列中无法预计。

案例: 年增长趋势和季节性波动分析

下面分析淘宝店铺近三年的增长趋势和季节性波动,如图13 所示。从分析结果得出,近三年淘宝店铺的收入呈现持续稳定增长趋势,但在2019 年有所下降,季节性波动比较明显,而每年的第4 季度是销售“旺季”。

368f63dec6bf208fe975c4c4029419cd.webp


图13  年增长趋势和季节性波动


程序代码如下:


                  
import pandas as pd







import matplotlib.pyplot as plt







df = pd.read_excel('TB.xls')







df1=df[['订单付款时间','买家实际支付金额']]







df1 = df1.set_index('订单付款时间') #将“订单付款时间”设置为索引







plt.rcParams['font.sans-serif']=['SimHei'] #解决中文乱码








#按年统计数据








df_y=df1.resample('AS').sum().to_period('A')







print(df_y)








#按季度统计数据








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])








#调整图表距上部和底部的空白








plt.subplots_adjust(top=0.95,bottom=0.2)







plt.show()__

















51e4f8cb9aa18faf057182bcc247c932.webp


浏览 39
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报