使用python插值到更大的1D数组

2024-04-20 03:45:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有五个具有多个长度的1D数组。我希望所有数组的长度都与cD1相同。我想对数组应用插值,使其具有相同的长度。 我试图使用linear_interp = interp1d(cD5, cD1),但它不能正常工作。感谢您的帮助

from scipy.interpolate import interp1d
coeffs = wavedec(data, 'sym5', level=5)
cA5,cD5,cD4,cD3,cD2,cD1=coeffs
cD5.shape #(248,)
cD4.shape #(488,)
cD3.shape #(967,)
cD2.shape #(1926,)
cD1.shape #(3844,)


Tags: fromscipy数组插值linearshapecd1interp
1条回答
网友
1楼 · 发布于 2024-04-20 03:45:33

据我所知,您缺少一个x坐标

尝试为阵列添加公共x坐标:

import numpy as np
from scipy.interpolate import interp1d

common_length_data = []
common_x = np.linspace(0, 1, len(cD1))
for c in [cA5,cD5,cD4,cD3,cD2,cD1]:
    x = np.linspace(0, 1, len(c))
    f = interp1d(x, c)
    common_length_data.append(f(common_x))

相关问题 更多 >