Python数据分析案例之时间序列分析
等风来也等你
共 4211字,需浏览 9分钟
·
2024-04-11 06:34
概述:什么是时间序列
顾名思义,时间序列就是按照时间顺序排列的一组数据序列。时间序列分析就是找出数据变化发展的规律,从而预测未来的走势。 时间序列分析有以下几种表现形式: ○长期趋势变化:受某种因素的影响,数据依据时间变化,按某种规则稳步增长或下降。使用的分析方法有:移动平均法、指数平滑法等。 ○季节性周期变化:受季节更替等因素影响,数据依据固定周期规则性的变化。季节性周期变化,不局限于自然季节,还包括月、周等短期周期。例如,空调、羽绒服、冷饮的销售,双十一、双十二流量在一周之内的波动等。采用的方法:季节指数。 ○循环变化:指一种较长时间的上下起伏周期性波动,一般循环时间在2~15 年。 ○ 随机性变化:由许多不确定因素引起的数据变化,在时间序列中无法预计。案例: 年增长趋势和季节性波动分析
下面分析淘宝店铺近三年的增长趋势和季节性波动,如图13 所示。从分析结果得出,近三年淘宝店铺的收入呈现持续稳定增长趋势,但在2019 年有所下降,季节性波动比较明显,而每年的第4 季度是销售“旺季”。
图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()__
评论