title: Numpy: get 1D array as 2D array without reshape
body: <p>I have need for hstacking multple arrays with with the same number of rows (although the number of rows is variable between uses) but different number of columns.  However some of the arrays only have one column, eg.</p>
  
  <pre><code>array = np.array([1,2,3,4,5])
  </code></pre>
  
  <p>which gives</p>
  
  <pre><code>#array.shape = (5,)
  </code></pre>
  
  <p>but I'd like to have the shape recognized as a 2d array, eg.</p>
  
  <pre><code>#array.shape = (5,1)
  </code></pre>
  
  <p>So that hstack can actually combine them.
  My current solution is:</p>
  
  <pre><code>array = np.atleast_2d([1,2,3,4,5]).T
  #array.shape = (5,1)
  </code></pre>
  
  <p>So I was wondering, is there a better way to do this? Would</p>
  
  <pre><code>array = np.array([1,2,3,4,5]).reshape(len([1,2,3,4,5]), 1)
  </code></pre>
  
  <p>be better? 
  Note that my use of [1,2,3,4,5] is just a toy list to make the example concrete.  In practice it will be a much larger list passed into a function as an argument. Thanks!</p>