python 时间序列数据 重采样
文章目录
- 降采样
- 升采样
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ
重采样:指将时间序列数据从一个频率转为另一个频率的过程。
重采样可以分为
降采样:高频率到低频率。
升采样:低频率到高频率。
升采样后会产生缺失值。相比而言降采样更为常用。
降采样
import pandas as pd
import numpy as np
# 创建日度数据100条
data1 = pd.DataFrame(np.random.uniform(10, 50, (100, 1)), index=pd.date_range('20220101', periods=100), columns=["value"])
print(data1)
- 1
- 2
- 3
- 4
- 5
降采样,转为10日数据并求和
data2 = data1.resample('10D').sum()
print(data2)
- 1
- 2
降采样,转为月度数据 并求和
data3 = data1.resample('M').sum()
print(data3)
- 1
- 2
升采样
升采样后需要使用asfreq()方法,才能使升采样后的数据转为DataFrame格式,新增的数据都显示为空值。
首先准备一组数据。
data4 = pd.DataFrame(np.random.randint(1000,4000,size=(4,4)),index=pd.date_range('1/1/2022', periods=4, freq='W-WED'), columns=["北京","上海","广州","深圳"])
print(data4)
- 1
- 2
print(data4.resample('D').asfreq())
- 1
🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ