我有一些不规则戳戳的时间序列数据,格式如下,
Time Pressure Humidity Temperature
2014-02-13 09:15:00.355000 124.283173 26.926562 6119.075
2014-02-13 09:15:00.356000 118.537935 22.228906 6111.625
2014-02-13 09:15:00.357000 118.537935 22.228906 6111.625
2014-02-13 09:15:00.359000 105.237890 10.919141 6104.625
2014-02-13 09:15:00.360000 105.237890 9.773438 6104.625...
2014-02-13 09:15:00.4530000 101.237890 7.773438 6101.625
2014-02-13 09:15:00.4590000 101.237890 7.773438 6101.625
我正试图重新采样熊猫的数据,以常规的100毫is或S频率。我希望这能工作
x = ts.resample('100L', how='ffill')
没有任何作用,实际上它只是给了我相同的级数。然后我试着
x = ts.asfreq('100L', method = 'ffill')似乎有效。我做错了什么吗?样品不能在这里使用吗?
这里我希望将采样降低到100毫秒的分辨率,所以我的目标输出是
2014-02-13 09:15:00.355000 124.283173 26.926562 6119.075
2014-02-13 09:15:00.455000 101.237890 7.773438 6101.625
您没有明确表示要在这里输出什么——基于
的输出 ts.asfreq('S', method = 'ffill')
看来你只想做第一个观察。对吗?
但这不是填充方法所做的。当你将how = '填充'传递给样本方法时,它会使用数据框架。填充空值。它是
的同义词NDFrame.fillna(method=’ffill’)
如果您想使用resample并返回每组中的第一个观察值,请使用'first'方法:
ts_df.resample('S',how = 'first')
使用
x = ts.resample('100L', method='ffill')
不是x = ts.resample('100L', how='ffill')