这似乎是一个非常直接的问题,但我想不出解决方案。假设我有一个y包含 8000 个样本的正弦函数:
import numpy as np
Fs = 8000
f = 1
npts = 8000
x = np.arange(npts)
y = np.sin(2 * np.pi * f * x / Fs)
Run Code Online (Sandbox Code Playgroud)
我想将这个函数下采样到 6000 个样本,所以我尝试了这个回答类似问题的方法......
import math
from scipy import nanmean
#number of samples I want to downsample to
npts2 = 6000
#calculating the number of NaN values to pad to the array
n = math.ceil(float(y.size)/npts2)
pad_size = n*npts2 - len(y)
padded = np.append(y, np.zeros(int(pad_size))*np.NaN)
#downsampling the reshaped …Run Code Online (Sandbox Code Playgroud)