我有一些数组x
以及与t
中的数据相对应的相关时间戳x
(它们的长度相同N
)。
我想将我的数据x
下采样到较小的长度M < N
,这样新数据的时间间隔大致相等(通过使用时间戳信息)。这不是简单地通过取每个第n个数据点来抽取数据。使用最接近的时间邻居是可以的。
scipy有一些resampling代码,但实际上它试图在数据点之间插入,这是我无法为我的数据做的。 numpy或scipy是否有代码可以执行此操作?
例如,假设我想根据某些对数时间对字母表中的字母进行下采样:
import string
import numpy as np
x = string.lowercase[::]
t = np.logspace(1, 10, num=26)
y = downsample(x, t, 8)
答案 0 :(得分:1)
我建议使用pandas
,特别是resample
函数:
频率转换和定时时间序列数据重采样的便捷方法。
特别注意how
参数。
您可以将numpy数组转换为DataFrame:
import pandas as pd
YourPandasDF = pd.DataFrame(YourNumpyArray)