python - 使用 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))
推荐阅读
- ios - #if canImport() 找不到带有 CocoaPods 的框架
- javascript - 等待不等待javascript
- java - 如何在Linux中软杀死一个进程?
- javascript - 为什么 fill() 会影响 p5.js 中的所有函数?
- kubernetes - 如何连接到 kubernetes 集群中的 kafka 实例?
- java - 使用 Neo4J OGM 映射树结构
- c# - 检查鼠标是否没有移动(静止不动)c#WinForms
- json - How can i use sass variables from json file?
- java - 动态 Javafx 视图的控制器类
- java - How to store values in an array and save them in a file