下面有一个示例 DataFrame,其中采样频率 = 250 Hz(每 4 毫秒 1 个样本):
df =
datetime sample_value
2000-01-01 00:00:00.004 56
2000-01-01 00:00:00.008 58
2000-01-01 00:00:00.012 64
2000-01-01 00:00:00.016 61
我正在尝试对上述值进行重新采样,以实现 1000 Hz 的采样频率并进行插值。我可以使用 scipy 中的
df.resample()
然后使用 interpolate.interp1d()
来完成此操作吗?如果是的话,怎么办?
我发现的大多数示例都是从几个月 -> 天或几小时 -> 分钟执行此操作,但我无法让它适用于我的用例。
任何帮助将不胜感激。谢谢!
示例代码
import pandas as pd
data1 = {'datetime': ['2000-01-01 00:00:00.004000', '2000-01-01 00:00:00.008000',
'2000-01-01 00:00:00.012000', '2000-01-01 00:00:00.016000'],
'sample_value': [56, 58, 64, 61]}
df = pd.DataFrame(data1)
df['datetime'] = pd.to_datetime(df['datetime'])
代码
使用
asfreq
df.set_index('datetime').asfreq('1ms').interpolate().reset_index()