簡體   English   中英

使用 python 插入到更大的一維數組

[英]interpolate to larger 1D array using python

我有五個具有多個長度的一維數組。我希望所有數組的長度與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,)

據我所知,您缺少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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM