title: how to understand empty dimension in python numpy array?
body: <p>In python numpy package, I am having trouble understanding the situation where an ndarray has the 2nd dimension being empty. Here is an example: </p>
  
  <pre><code>    In[1]: d2 = np.random.rand(10)
      In[2]: d2.shape = (-1, 1)
  
      In[3]: print d2.shape
      In[4]: print(d2)
  
      In[5]: print d2[::2, 0].shape
      In[6]: print d2[::2, 0]
  
      Out[3]:(10, 1)
      Out[4]:
  [[ 0.12362278]
   [ 0.26365227]
   [ 0.33939172]
   [ 0.91501369]
   [ 0.97008342]
   [ 0.95294087]
   [ 0.38906367]
   [ 0.1012371 ]
   [ 0.67842086]
   [ 0.23711077]]
  
      Out[5]: (5,)
      Out[6]: [ 0.12362278  0.33939172  0.97008342  0.38906367  0.67842086]
  </code></pre>
  
  <p>My understanding is that d2 is a 10 rows by 1 column ndarray.
  Out[6] is obviously a 1 by 5 array, how can the dimensions be (5,) ?
  What does the empty 2nd dimension mean? </p>