【发布时间】:2019-12-08 03:09:15
【问题描述】:
interp1d 非常适合我拥有的单个数据集,但是我有超过 500 万个数据集需要插值。
我需要插值是三次的,并且每个子集应该有一个插值。
现在我可以使用 for 循环来执行此操作,但是,要插入 500 万个集合,这需要相当长的时间(15 分钟):
interpolants = []
for i in range(5000000):
interpolants.append(interp1d(xArray[i],interpData[i],kind='cubic'))
我想做的可能看起来像这样:
interpolants = interp1d(xArray, interpData, kind='cubic')
然而这失败了,并出现错误:
ValueError: x and y arrays must be equal in length along interpolation axis.
我的 x 数组 (xArray) 和我的 y 数组 (interpData) 具有相同的维度...
我可以并行化 for 循环,但这只会稍微提高速度,我更喜欢矢量化操作。
【问题讨论】:
标签: python scipy-optimize