python-数据分析(12-时间序列)

Pandas

12 Pandas之时间序列

12.1 时间序列

时间序列前言
时间序列数据在很多领域都是重要的结构化数据形式,比如:金融,神经科学,生态学,物理学。在多个时间点观测的数据形成了时间序列。时间序列可以是固定频率的,也可以是不规则的。

常见使用

  • 时间戳
  • 固定的时间区间
  • 时间间隔

 

12.2 时间序列基础

Pandas中的基础时间序列种类是由时间戳索引的Series,在Pandas外部通常表示为Python字符串或datetime对象。

注意

  • datetime对象可作为索引,时间序列DatetimeIndex
  • 时间序列里面每个元素为Timestamp对象
     
     
     
     

生成时间序列函数

  • pd.date_range(start=None,end=None,periods=None,freq=None,tz=None,normalize=False)
    • start 起始时间
    • end 结束时间
    • periods 固定时期
    • freq 日期偏移量(频率)
    • normalize 标准化为0的时间戳
      python-数据分析(12-时间序列)_第1张图片
      python-数据分析(12-时间序列)_第2张图片
      python-数据分析(12-时间序列)_第3张图片
      python-数据分析(12-时间序列)_第4张图片

时间序列的索引及选择数据
python-数据分析(12-时间序列)_第5张图片
python-数据分析(12-时间序列)_第6张图片
python-数据分析(12-时间序列)_第7张图片
python-数据分析(12-时间序列)_第8张图片
python-数据分析(12-时间序列)_第9张图片
含有重复索引的时间序列

  • df.indexis_unique                      检查索引是否唯一

移位日期
"移位"指的是将日期按时间向前移动或向后移动。Series和DataFrame都有一个shift方法用于进行简单的前向或后向移位 而不改变索引

ts.shift(2)   # 向前移动

ts.shift(-2)  # 向后移动

python-数据分析(12-时间序列)_第10张图片
python-数据分析(12-时间序列)_第11张图片
python-数据分析(12-时间序列)_第12张图片
python-数据分析(12-时间序列)_第13张图片

12.3 重采样

重采样介绍
重采样:指的是将时间序列从一个频率转化为另一个频率进行处理的过程,将高频率数据转化为低频率数据为降采样,低频率转化为高频率为升采样
python-数据分析(12-时间序列)_第14张图片
python-数据分析(12-时间序列)_第15张图片

"""
升采样 低频->高频
"""
ts_tz=pd.DataFrame(np.random.randint(2000,5000,size=(4,4)),index=pd.date_range(start="20200101",freq="10D",periods=4),columns=["北","上","广","深"])
ts_tz

python-数据分析(12-时间序列)_第16张图片

df =pd.DataFrame(np.random.randint(1000,4000,size=(4,4)),index=[20200101,20200102,20200103,20200104],columns=["北","上","广","深"])
df

在这里插入图片描述
该行索引类型并不是时间序列类型,所以我们想要使用时间序列的特性,就需要将其转为时间序列。通过 pd.to_datetime(),其中的format参数可以调试时间序列的格式,常用如下:
python-数据分析(12-时间序列)_第17张图片

python-数据分析(12-时间序列)_第18张图片
python-数据分析(12-时间序列)_第19张图片

12.4 pandas绘图

Series跟DateFrame都有plot属性,用来绘制基本图形,默认情况下绘制的是折线图
python-数据分析(12-时间序列)_第20张图片
python-数据分析(12-时间序列)_第21张图片
python-数据分析(12-时间序列)_第22张图片

你可能感兴趣的:(笔记,matlab,python,大数据)