小编tc_*_*ons的帖子

我可以矢量化 scipy.interpolate.interp1d

interp1d对于我拥有的单个数据集效果非常好,但是我有超过 500 万个数据集需要插值。

我需要三次插值,并且每个子集应该有一个插值。

现在我可以使用 for 循环来完成此操作,但是,要插入 500 万组,这需要相当长的时间(15 分钟):

interpolants = []
for i in range(5000000):             
    interpolants.append(interp1d(xArray[i],interpData[i],kind='cubic'))
Run Code Online (Sandbox Code Playgroud)

我想做的事情可能看起来像这样:

interpolants = interp1d(xArray, interpData, kind='cubic')
Run Code Online (Sandbox Code Playgroud)

然而这失败了,并出现错误:

ValueError: x and y arrays must be equal in length along interpolation axis.
Run Code Online (Sandbox Code Playgroud)

我的 x 数组 (xArray) 和 y 数组 (interpData) 都具有相同的尺寸...

我可以并行化 for 循环,但这只会让我的速度略有提高,我更喜欢向量化操作。

python scipy-optimize

5
推荐指数
1
解决办法
553
查看次数

标签 统计

python ×1

scipy-optimize ×1