沿轴的快速插值(50000,3000)numpy数组= -1

时间:2016-10-14 03:47:51

标签: python numpy scipy

我有一个2D形状的地震数据阵列(50000,3000)

我需要1d插入轴= -1

中的所有内容

如果z =值,t0 =值时间,tx =新时间,我正在做

for i in range(dataset.size):
    result[i,:] = np.interp(tx[i,:], t0[i,:], z[i,:]) 

毫不奇怪,它需要数小时。

  • t0已排序但不定期抽样

  • 对tx进行排序和定期采样

有关显着加快代码速度的任何建议吗?

仅限于numpy / scipy解决方案

1 个答案:

答案 0 :(得分:0)

取决于你想要达到的目标。如果您知道有趣区域的位置,则可以使用数组切片来仅插入数据的一小部分。或者您可能希望通过使用统计指标来了解全局。

我认为没有办法显着加快np.interp()本身的速度,因为它基本上遍历了数据中的所有点。您可以从interp1d()尝试scipy.interpolate,但我认为不会有明显的性能差异。