<blockquote>
<p><em>Is it possible to make a oneliner or another <strong>code which makes the calculation a lot faster</strong>?</em></p>
</blockquote>
<h2><sup>语法格式不是实现速度的核心,</sup><br/>智能矢量或重新公式是:</h2>
<p>直到光荣的<strong><code>numba</code></strong>-团队决定将对掩蔽数组操作的支持转移到前端,来自<code>numba.jit( ... )</code>(<a href="https://github.com/numba/numba/issues/2103" rel="nofollow noreferrer">Masked array support #2103</a>)的JIT加速速度仍然不足</p>
<p>那么让我们试试<code>numpy</code>-本机步骤:</p>
<p>内环可能首先脱离缓慢的GIL驱动运动:</p>
<pre><code>for i in range ( 1, len( XposApr ), 12 ):
#or j in range ( 0, len( XposApr[0] ) ):
DiffLon[i][:] = ( XposApr[i][:] - XposApr[i-1][:] )
DiffLat[i][:] = ( YposApr[i][:] - YposApr[i-1][:] )
</code></pre>
<p>然而,如果我正确地阅读了布局,整个问题可能会在两个维度上得到解决,具体如下:</p>
<pre><code> DiffLon[1:len( XposApr ):12] = ( XposApr[1:len( XposApr ):12]
- XposApr[0:len( XposApr )-1:12]
)
DiffLat[1:len( XposApr ):12] = ( YposApr[1:len( XposApr ):12]
- YposApr[0:len( XposApr )-1:12]
)
</code></pre>
<p>我相信无论是<a href="https://stackoverflow.com/users/3293881/divakar">@Divakar</a>还是<a href="https://stackoverflow.com/users/4909087/c%E1%B4%8F%CA%9F%E1%B4%85s%E1%B4%98%E1%B4%87%E1%B4%87%E1%B4%85">@cᴏʟᴅsᴘᴇᴇᴅ</a>,这里真正的<code>numpy</code>大师都会准备好告诉你更聪明、更有效的切片/矢量化技巧,让你做到这一点,所以要有耐心:o)</p>