title: nested Python numpy arrays dimension confusion
body: <p>Suppose I have a numpy array <code>c</code> constructed as follows:</p>
  
  <pre><code>a = np.zeros((2,4))
  b = np.zeros((2,8))
  c = np.array([a,b])
  </code></pre>
  
  <p>I would have expected <code>c.shape</code> to be <code>(2,1)</code> or <code>(2,)</code> but instead it is <code>(2,2)</code>. Additionally, what I want to do is concatenate a column vector of ones onto <code>a</code>, but by accessing it through <code>c</code> in the following way:</p>
  
  <pre><code>c0 = c[0] # I would have expected this to be 'a'
  np.concatenate((np.ones((c0.shape[0], 1)), c0), axis=1)
  </code></pre>
  
  <p>This of course doesn't work because <code>c[0]</code> does not equal <code>a</code> as I expected, and I get </p>
  
  <pre><code>ValueError: all the input arrays must have same number of dimensions
  </code></pre>
  
  <p>I need some way to have an array (or list) of pairs, each pair component being a numpy array, and I need to access the first array in the pair in order to concatenate a column vector of ones to it. My application is machine learning and my data will be coming to me in the format described, but I need to modify the data at the start in order to add a bias element to it. </p>
  
  <p><strong>EDIT:</strong> I'm using Python 2.7 and Numpy 1.8.2</p>