数据重采样
重采样分为上(升)采样和下采样,下(降)采样时需要对信号进行抽取,上采样时需要对信号进行插值
- 时间数据由一个频率转换到另一个频率
- 降采样
- 升采样
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系列
- ffill 空值取前面的值
- bfill 空值取后面的值
- interpolate 线性取值
day3Ts.resample('D').ffill(1) #要全部补齐,括号里写2就行

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

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

数据重采样详解
本文深入探讨了数据重采样的概念,包括上采样和下采样两种主要方式。通过Python的Pandas库演示了如何对时间序列数据进行频率转换,如从每日数据转换为每月数据或每3天数据,并介绍了不同插值方法,如前向填充、后向填充和线性插值。
2135

被折叠的 条评论
为什么被折叠?



