时间序列数据分析
日期和时间数据类型
datetime构造
Python标准库中包含了用于日期(date)、时间(time)、日历(calendar)等功能的数据类型,主要会用到datetime、time、calendar模块,我们主要介绍一下datetime模块。
datetime库的时间数据类型为:
数据转换
- datetime -> str:将datetime类数据转换为字符串数据。
str方法:
datetime.strftime方法: 可以将datetime类数据转换为格式化字符串数据。 - str -> datetime :将字符串数据转换为datetime类数据。
datetime.strptime(…):根据string, format 2个参数,返回一个对应的datetime对象
datetime格式说明
时间序列,日期范围频率和移动
时间序列构造:
Pandas中的时间序列指的是以时间数据为索引的Series或DataFrame,构造方法即为Series的构造方法。
日期范围
Pandas的通用时间序列是不规则的,即时间序列的频率是不固定的。然而经常有需要处理固定频率的场景,如每天、每月等。使用pd.date_range函数可以创建指定长度的DatetimeIndex。
频率和移位
pandas中的频率是由一个基础频率和一个乘数组成的。基础频率通常以一个字符串别名表示,比如”H”表示每小时。对于每个基础频率,都有一个被称为日期偏移量的对象与之对应。可以通过实例化日期偏移量来创建某种频率:在基础频率前面放上一个整数即可创建偏移量的倍数。
时期基础
Period可以创建时期型的数据,传入字符串、整数或频率即可。
频率转换
Period和PeriodIndex对象可以通过asfreq方法转换频率。
时期数据转换
利用to_period方法可以将由时间戳索引的时间序列数据转换为以时期为索引。
频率转换和重采样
重采样是时间序列频率转换的过程,Pandas中的resample函数用于各种频率的转换工作。
resample方法的参数与说明:
降采样
在降采样中,需要考虑closed和label参数,分别表示哪边区间是闭合的,哪边是标记的。
升采样
在升采样中主要是数据的插值,即对缺失值进行填充,填充方法与fillna相似。