mac*_*ery 5 python interpolation downsampling pandas
我找到了以下方法来对 python 中的信号进行下采样。我想在 asample_rate
为 100.21 时使用此方法,但我认为目前它仅适用于 2 的整数幂。是否可以将频率 100.21 Hz 的信号下采样至 8 Hz?
def interpolateDataTo8Hz(data,sample_rate,startTime):
# Downsample
idx_range = range(0,len(data))
data = data.iloc[idx_range[0::int(sample_rate)/8]]
# Set the index to be 8Hz
data.index = pd.DatetimeIndex(start=startTime,periods = len(data),freq='125L')
# Interpolate all empty values
data = interpolateEmptyValues(data)
return data
def interpolateEmptyValues(data):
cols = data.columns.values
for c in cols:
data[c] = data[c].interpolate()
return data
Run Code Online (Sandbox Code Playgroud)