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 循环,但这只会让我的速度略有提高,我更喜欢向量化操作。