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)

降采样,转为10日数据并求和
data2 = data1.resample('10D').sum()
print(data2)

降采样,转为月度数据 并求和
data3 = data1.resample('M').sum()
print(data3)

升采样
升采样后需要使用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)

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

🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ
本文详细介绍了如何在Python中使用pandas库进行时间序列数据的降采样(如将日度数据转为周度或月度数据),以及升采样操作(包括处理缺失值和使用asfreq()方法)。通过实例演示了降采样时求和操作,并展示了如何将每周数据扩展到每日数据。
1908

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



