Python时间序列--数据重采样(二)

数据重采样
重采样分为上(升)采样和下采样,下(降)采样时需要对信号进行抽取,上采样时需要对信号进行插值

  • 时间数据由一个频率转换到另一个频率
  • 降采样
  • 升采样
import pandas as pd
import numpy as np
rng = pd.date_range('1/1/2020', periods=90, freq='D')
ts = pd.Series(np.random.randn(len(rng)), index=rng)
ts.head()

在这里插入图片描述
降采样

按月的和

ts.resample('M').sum()

在这里插入图片描述
按3天的和

day3Ts = ts.resample('3D').mean()
day3Ts

在这里插入图片描述
升采样
假如原本的数据就是按3天的和的样子,现在要查看将其他两天的数据,如下:

print(day3Ts.resample('D').asfreq())

在这里插入图片描述
可以发现其他两天是NaN,现在要上采样将其补齐,方法如下:
插值方法:
更详细解析可以看我的数据分析系列和Pandas系列

  1. ffill 空值取前面的值
  2. bfill 空值取后面的值
  3. interpolate 线性取值
day3Ts.resample('D').ffill(1) #要全部补齐,括号里写2就行

在这里插入图片描述

day3Ts.resample('D').bfill(1)

在这里插入图片描述

day3Ts.resample('D').interpolate('linear')

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值