擅长:python、mysql、java
<p>您的职能:</p>
<pre><code>In [310]: def foo(a,b):
...: x = struct.pack('2B', a,b)
...: return struct.unpack('H',x)[0]
</code></pre>
<p><code>np.vectorize</code>是广播阵列的一种便捷方式。它将标量值传递给函数。它不会加快代码的速度(相关的<code>frompyfunc</code>可能会比普通迭代快2倍)</p>
^{pr2}$
<p>我可以用一个简单的数学表达式在相同的数组上复制这些值:</p>
<pre><code>In [313]: np.arange(5)[:,None]+np.arange(10)*256
Out[313]:
array([[ 0, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2304],
[ 1, 257, 513, 769, 1025, 1281, 1537, 1793, 2049, 2305],
[ 2, 258, 514, 770, 1026, 1282, 1538, 1794, 2050, 2306],
[ 3, 259, 515, 771, 1027, 1283, 1539, 1795, 2051, 2307],
[ 4, 260, 516, 772, 1028, 1284, 1540, 1796, 2052, 2308]])
</code></pre>
<p>这可能只适用于有限的值范围,但它提供了一个如何在<code>numpy</code>中正确“矢量化”计算的方法。在</p>