擅长:python、mysql、java
<p><code>c = np.hstack([a,b])</code>会做你想做的。另请参见<a href="http://docs.scipy.org/doc/numpy-1.10.0/reference/generated/numpy.concatenate.html#numpy.concatenate" rel="nofollow">np.concatenate</a></p>
<hr/>
<p>Timeit结果</p>
<pre><code>a = np.ones((1000,5000), dtype=np.float64)
b = np.ones((1000,2500), dtype=np.float64)
%timeit c = np.concatenate([a,b], axis=1)
1000 loops, best of 3: 66.4 ms per loop
%timeit c = np.hstack([a,b])
1000 loops, best of 3: 67.3 ms per loop
# Check that it is really the same:
np.testing.assert_array_equal(np.concatenate([a,b], axis=1), np.hstack([a,b]))
</code></pre>
<p>所以连接可能要快一点,因为<code>hstack</code>只是<code>concatenate</code>周围的包装器(不必要的函数调用)</p>
<p>作为参考</p>
^{pr2}$
<p>似乎和<code>concatenate</code>一样快。但这只是因为第一个轴是<code>1000</code>。如果将第一个轴更改为只包含<code>10</code>元素,则计时完全不同:</p>
<pre><code>a = np.ones((10,5000), dtype=np.float64)
b = np.ones((10,2500), dtype=np.float64)
# concatenate
1000 loops, best of 3: 349 µs per loop
# hstack
1000 loops, best of 3: 406 µs per loop
# your approach
1000 loops, best of 3: 452 µs per loop
</code></pre>