版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6.1时间序列的基本操作Python数据分析学习目标及重点学习目标:了解时间序列分析时间序列基本操作目录学习内容1.认识时间序列分析2.
时间序列基本操作01认识时间序列分析1.认识时间序列分析时间序列分析是一种用于研究和预测时间序列数据的统计学方法。Pandas是Python中一个强大且流行的数据操作库,特别适合处理时间序列数据。它提供了一系列工具和函数可以轻松加载、操作和分析时间序列数据。02时间序列基本操作2.时间序列基本操作Timestamp或DatetimeIndex:它的功能类似于其他索引类型,但也具有用于时间序列操作的专门函数。t=pd.to_datetime("29/10/2023",dayfirst=True)
#Timestamp(‘2023-10-2900:00:00')
t=pd.Timestamp('2023-01-01',tz='Europe/Berlin')
#Timestamp('2023-01-0100:00:00+0100',tz='Europe/Berlin')Pandas日期类型2.时间序列基本操作period或PeriodIndex:一个有开始和结束的时间间隔。它由固定的间隔组成。t=pd.to_datetime(["04/23/2023","10/29/2023"])
period=t.to_period("D")Pandas日期类型2.时间序列基本操作Timedelta或TimedeltaIndex:两个日期之间的时间间隔。delta=pd.TimedeltaIndex(data=['1days03:00:00',
'2days09:05:01.000030'])Pandas日期类型2.时间序列基本操作使用pd.read_csv读取时间序列时,可以设置两个参数。使用parse_dates参数可以把指定的列从文本类型转化为Pandas内置时间类型,使用index_col可以把指定的列转化为数据集的索引。读取数据2.时间序列基本操作使用pandasSeries对象的asfreq函数对时间序列数据以指定频率作图。其中M代表以月为基本单位。默认是使用时间窗的结尾作为结果,例如2022年12月这个月的结果实际是12月31号的数据。数据可视化2.时间序列基本操作时间戳用来表示某个时间点,时间窗(Periods)用来表示某个时间区间。时间窗常常用来检测在某个时间段内是否发生了特殊事件。时间戳与时间窗之间也可以相互进行转换。时间戳与时间窗创建时间戳:timestamp=pd.Timestamp(2023,1,1,12)创建时间窗:period=pd.Period(‘2023-01-01’)2.时间序列基本操作date_range是一个可以返回多个datetime对象组成的序列的方法。它经常被用于创建连续的时间序列。date_range方法创建连续时间序列:dr1=pd.date_range(start='1/1/2023',end='1/9/2024')
任务6.2固定频率的时间序列Python数据分析学习目标及重难点学习目标:学会创建固定频率的时间序列,能够调整时间序列的频率素养目标:了解并使用固定频率时间序列学习重点:创建及调整固定频率的时间序列目录学习内容1.创建固定频率的时间序列2.时间序列的频率、偏移量3.时间序列的移动01创建固定频率的时间序列1.创建固定频率的时间序列Pandas中提供了一个date_range()函数,主要用于生成一个具有固定频率的DatetimeIndex对象。该函数的语法格式如下:date_range(start=None,end=None,periods=None,freq=None, tz=None,normalize:'bool'=False,name:'Hashable|None’ =None,inclusive:'IntervalClosedType'='both',*,unit:'str| None'=None,**kwargs)1.创建固定频率的时间序列start表示起始日期end表示终止日期periods表示产生多少个时间戳索引值freq指定计时单位date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize:'bool'=False,name:'Hashable|None’=None,inclusive:'IntervalClosedType'='both',*,unit:'str|None'=None,**kwargs)上述4个参数至少要指定3个1.创建固定频率的时间序列当调用date_range()函数创建DatetimeIndex对象时,如果只是传入了开始日期(start参数)与结束日期(end参数),则默认生成的时间戳是按天计算的,即freq参数为D。1.创建固定频率的时间序列如果只是传入了开始日期或结束日期,则还需要用periods参数指定产生多少个时间戳。1.创建固定频率的时间序列如果希望时间序列中的时间戳都是每周固定的星期日,则可以在创建DatetimeIndex时将freq参数设为“W-SUN”。1.创建固定频率的时间序列如果日期中带有与时间相关的信息,且想产生一组被规范化到当天午夜的时间戳,可以将normalize参数的值设为True。02时间序列的频率、偏移量2.时间序列的频率、偏移量默认生成的时间序列数据是按天计算的,即频率为“D”。“D”是一个基础频率,通过用一个字符串的别名表示,比如“D”是“day”的别名。频率是由一个基础频率和一个乘数组成的,比如,“5D”表示每5天。2.时间序列的频率、偏移量时间序列的基础频率2.时间序列的频率、偏移量示例:每5天采集一次数据:2.时间序列的频率、偏移量每个基础频率还可以跟着一个被称为日期偏移量的DateOffset对象。如果想要创建一个DateOffset对象,则需要先导入pd.tseries.offsets模块后才行。2.时间序列的频率、偏移量还可以使用offsets模块中提供的偏移量类型进行创建。
例如,创建14天10小时的偏移量,可以换算为两周零十个小时,其中“周”使用Week类型表示的,“小时”使用Hour类型表示,它们之间可以使用加号连接。03时间序列的移动3.时间序列的移动移动是指沿着时间轴方向将数据进行前移或后移。Pandas对象中提供了一个shift()方法,用来前移或后移数据,但数据索引保持不变。shift(periods=1,
freq=None,
axis=0)2.时间序列的频率、偏移量示例任务6.3时间周期及计算Python数据分析学习目标及重难点学习目标:学会创建时期对象,并进行频率转换素养目标:了解并使用时期对象学习重点:创建及使用时期对象目录学习内容1.创建时期对象2.时期的频率转换01创建时期对象1.创建时期对象Pandas中,Period类表示一个标准的时间段或时期,比如某年、某月、某日、某小时等。创建Period对象只需要在Period类的构造方法中以字符串或整数的形式传入一个日期即可。2023-01-01至2023-12-31之间的时间段2023-11-01至2023-11-30之间的整月时间1.创建时期对象Period对象能够参与数学运算。如果Period对象加上或者减去一个整数,则会根据具体的时间单位进行位移操作。1.创建时期对象如果具有相同频率的两个Period对象进行数学运算,那么计算结果为它们的单位数量。1.创建时期对象如果希望创建多个Period对象,且它们是固定出现的,则可以通过period_range()函数实现。1.创建时期对象除了使用上述方式创建PeriodIndex外,还可以直接在PeriodIndex的构造方法中传入一组日期字符串。02时期的频率转换2.时期的频率转换Pandas中提供了一个asfreq()方法来转换时期的频率。asfreq(freq,method=None,how=None,normalize=False,fill_value=None
)freq--表示计时单位。how--可以取值为start或end,默认为end。normalize--表示是否将时间索引重置为午夜。fill_value--用于填充缺失值的值。2.时期的频率转换示例:如何将年度时期转换为年初或年末的月度时期任务6.4重采样Python数据分析学习目标及重难点学习目标:掌握重采样,可以实现降采样和升采样素养目标:了解并使用重采样学习重点:掌握重采样,实现降采样和升采样目录学习内容1.重采样方法2.降采样3.升采样01重采样方法1.重采样方法Pandas中的resample()是一个对常规时间序列数据重新采样和频率转换的便捷的方法。resample(rule,
how=None,
axis=0,
fill_method=None,
closed=None,
label=None,
...)rule--表示重采样频率的字符串或DateOffset。fill_method--表示升采样时如何插值。closed--设置降采样哪一端是闭合的。1.重采样方法示例:创建一个时间序列类型的Series对象,然后进行重采样从输出结果可以看出,生成的Series对象的时间戳为每周一,数据为每周求得的平均值,相当于Pandas中的分组操作。1.重采样方法如果重采样时传入closed参数为left,则表示采样的范围是左闭右开型的。也就是说位于某范围的时间序列中,开头的时间戳包含在内,结尾的时间戳是不包含在内的。02降采样2.降采样降采样时间颗粒会变大,比如原来是按天统计的数据,现在要按周统计,数据量是减少的。为了避免有些时间戳对应的数据闲置,可以利用内置方法聚合数据。示例:金融股票数据比较常见的是OHLC重采样,包括开盘价(open)、最高价(high)、最低价(low)和收盘价(close)。可以通过降采样的方法统计每周的股票价格。2.降采样03升采样3.升采样升采样的时间颗粒是变小的,数据量会增多,这很有可能导致某些时间戳没有相应的数据。3.升采样重新按照天进行采样,使用resample和asfreq两个方法,没有指定数据的部分都被填充为NaN。通常的解决办法是插值:ffill(limit)或bfill(limit),取空值前面或后面的值填充,limit可限制填充的个数fillna(‘ffill’)或fillna(‘bfill’)进行填充,传入ffill表示用NaN前面的值填充,传入bfill表示用后面的值填充使用interpolate()方法根据插值算法补全数据任务6.5数据统计—滑动窗口Python数据分析学习目标及重难点学习目标:熟悉滑动窗口的使用素养目标:了解并使用滑动窗口学习重点:掌握滑动窗口的使用滑动窗口滑动窗口指的是根据指定的单位长度来框住时间序列,从而计算框内的统计指标。相当于一个长度指定的滑块在刻度尺上面滑动,每滑动一个单位即可反馈滑块内的数据。滑块滑动窗口示例:某分店按天统计了2017年全年的销售数据,现在总经理想抽查分店8月28日(七夕)的销售情况,如果只是单独拎出来当天的数据,则这个数据比较绝对,无法很好地反映出这个日期前后销售的整体情况。为了提升数据的准确性,可以将某个点的取值扩大到包含这个点的一段区间,用区间内的数据进行判断。例如,我们可以将8月24日到9月2日的数据拿出来,求此区间的平均值作为抽查结果。滑动窗口移动窗口就是窗口向一端滑行,每次滑行并不是区间整块的滑行,而是一个单位一个单位的滑行。每次窗口移动,一次只会移动一个单位的长度,并且窗口的长度始终为10个单位长度,直至移动到末端。由此可知,通过滑动窗口统计的指标会更加平稳一些,数据上下浮动的范围会比较小。例如,窗口向右边滑行一个单位,此时窗口框住的时间区间范围为2017-08-25到2017-09-03。滑动窗口Pandas中提供了一个窗口方法rolling()。rolling(window,
min_periods=None,
center=False,
win_type=None,
on=None,
axis=0,
closed=None)window
--
表示窗口的大小。min_periods
--
每个窗口最少包含的观测值数量。center
--
是否把窗口的标签设置为居中。win_type
--表示窗口的类型。closed
--用于定义区间的开闭。滑动窗口创建时间序列创建滑动窗口并求窗口内平均值任务6.6事件模型—ARIMAPython数据分析学习目标及重难点学习目标:了解ARIMA模型素养目标:了解并使用ARIMA模型学习重点:使用ARIMA模型目录学习内容1.AR模型2.I模型3.MA模型01AR模型1.AR模型ARIMA的全称叫做差分整合移动平均自回归模型,又称作整合移动平均自回归模型,是一种用于时间序列预测的常见统计模型。ARIMA模型主要由AR、I与MA模型三个部分组成。ARIMA(p,d,q)AR(p)模型I模型MA(q)模型1.AR模型ARIMA(p,d,q)模型可以表示为:p--代表预测模型中采用的时序数据本身的滞后数,即自回归项数。d--代表时序数据需要进行几阶差分化,才是稳定的,即差分的阶数。q--代表预测模型中采用的预测误差的滞后数,即滑动平均项数。1.AR模型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 别墅乔迁活动策划方案(3篇)
- 商会医疗活动策划方案(3篇)
- 图文版施工方案(3篇)
- 夜场蹦迪营销方案(3篇)
- 如何申请应急预案(3篇)
- 山庄风景营销方案(3篇)
- 2026年湖北高考理综试题含解析及答案
- 2026年河南周口市中考物理试题(附答案)
- 人力资源管理与招聘策略
- 玉林市福绵区玉福大道纵四路(玉福西路)工程环境影响报告表
- 儿科学硕士26届考研复试高频面试题包含详细解答
- 2026年安徽工贸职业技术学院单招综合素质考试题库含答案详解(模拟题)
- 2026天津市宝坻区招聘事业单位29人笔试备考题库及答案解析
- 2026重庆万州区人民法院公开招聘书记员3人考试参考试题及答案解析
- 春季除四害防病知识科普
- 急性中毒总论
- 20.4 电动机 课件(内嵌视频) 2025-2026学年人教版物理九年级全一册
- 家政保洁服务标准化手册
- 学校饮用水污染事件应急报告与管理制度
- 2026年粤港澳大湾区建筑市场发展新机遇
- 幽门螺杆菌相关性胃炎中胃内菌群与抗菌肽表达的协同变化及临床意义
评论
0/150
提交评论