Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python (500003000)numpy阵列沿轴=-1的快速插值_Python_Numpy_Scipy - Fatal编程技术网

Python (500003000)numpy阵列沿轴=-1的快速插值

Python (500003000)numpy阵列沿轴=-1的快速插值,python,numpy,scipy,Python,Numpy,Scipy,我有一个形状为(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解决方案取决于您的目标。如果知道

我有一个形状为(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解决方案取决于您的目标。如果知道感兴趣的区域在哪里,可以使用数组切片来插值数据的一小部分。或者,您可能希望通过使用统计指标了解全局


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

这是对地震数据进行几何校正的一种形式。因此,必须对整个数据集执行此操作。您是否可以提供更多的代码,或许是一个我可以复制/粘贴到编辑器中并开始使用的最小工作示例?我需要知道什么类型的
dataset
(numpy数组?)以及
z
来自哪里。另外,
tx
的行是否都不同?
t0
的行是否都不同?