对 pandas DataFrame 中的时间序列进行上采样并进行插值

问题描述 投票:0回答:1

下面有一个示例 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()
来完成此操作吗?如果是的话,怎么办?

我发现的大多数示例都是从几个月 -> 天或几小时 -> 分钟执行此操作,但我无法让它适用于我的用例。

任何帮助将不胜感激。谢谢!

python pandas resampling pandas-resample
1个回答
0
投票

示例代码

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()
© www.soinside.com 2019 - 2024. All rights reserved.