我有以下代码完全符合我的要求(它是克里金方法的一部分)。但问题是它太慢了,我想知道是否有任何选项可以将 for 循环推到 numpy?如果我推出 numpy.sum,并在那里使用轴参数,它会加快一点,但显然这不是瓶颈。关于如何将 forloop 向下推到 numpy 以加快速度或其他方式来加快速度的任何想法?)
# n = 2116
print GRZVV.shape # (16309, 2116)
print GinvVV.shape # (2117, 2117)
VVg = numpy.empty((GRZVV.shape[0]))
for k in xrange(GRZVV.shape[0]):
GRVV = numpy.empty((n+1, 1))
GRVV[n, 0] = 1
GRVV[:n, 0] = GRZVV[k, :]
EVV = numpy.array(GinvVV * GRVV) # GinvVV is numpy.matrix
VVg[k] = numpy.sum(EVV[:n, 0] * VV)
我发布了 ndarrays n 矩阵的尺寸以清除一些东西
编辑:VV 的形状是 2116