我正在使用df
处理定义为pandas
的时间序列数据帧。
我已经使用set_index
将行索引更改为日期时间索引。
我想使用resample
或asfreq
每隔5秒对一个数据帧进行下采样。
假设降采样到1小时。
df_inst = df.asfreq('1H')
df_inst2 = df.resample('1H')
当我执行上面编写的代码时,asfreq
给了我正确的数据帧降采样到1 h的间隔,这正是我所期望的。
但是,resample
没有生成任何数据帧变量,此外,没有错误消息。
使用print
检查它时,我收到以下消息。
print(df_inst2)
DatetimeIndexResampler [freq=<Hour>, axis=0, closed=left, label=left, convention=start, base=0]
我想念什么?
更具体地说,如何像使用resample
一样使用asfreq
来获得结果
谢谢。
答案 0 :(得分:0)
DataFrame.resample
返回Resampler object
,而DataFrame.asfreq
返回转换后的数据。
如果您想正确使用resample
,请将其与特定方法结合使用,例如:df.resample('1H').asfreq()
。
文档示例:
>> index = pd.date_range('1/1/2000', periods=9, freq='T')
>> series = pd.Series(range(9), index=index)
>> series.resample('30S').asfreq().head(5)
2000-01-01 00:00:00 0.0
2000-01-01 00:00:30 NaN
2000-01-01 00:01:00 1.0
2000-01-01 00:01:30 NaN
2000-01-01 00:02:00 2.0
Freq: 30S, dtype: float64