擅长:python、mysql、java
<p>只是想补充一下帕吉的回答。我很好奇这四种方法描述得有多快。获胜者是在1d数组末尾添加列的方法。</p>
<p>下面是我所说的:</p>
<pre><code>import numpy as np
import timeit
v = [1,2,3,4,5]
print('atleast2d:',timeit.timeit(lambda:np.atleast_2d(v).T))
print('reshape:',timeit.timeit(lambda:np.array(v).reshape(-1,1))) # saves the use of len()
print('v[:,None]:', timeit.timeit(lambda:np.array(v)[:,None])) # adds a new dim at end
print('np.array(v,ndmin=2).T:', timeit.timeit(lambda:np.array(v,ndmin=2).T)) # used by column_stack
</code></pre>
<p>结果是:</p>
<pre><code>atleast2d: 4.455070924214851
reshape: 2.0535152913971615
v[:,None]: 1.8387219828073285
np.array(v,ndmin=2).T: 3.1735243063353664
</code></pre>