title: Understanding how to specify the newshape parameter for numpy's reshape()
body: <p>I am new to python data analysis, and trying to figure out how to manipulate a multi-dimensional array to a different dimension.  Tutorials or forums online don't explain how to specify the parameters of "newshape" for <code>numpy.reshape(a, newshape, order='C')</code>  </p>
  
  <p>Here is an example I am trying to understand. It would be very helpful if someone could explain line 4.  </p>
  
  <pre><code>import numpy as np
  a1 = np.arrange(8).reshape( (8,1) ) 
  b = np.repeat(a1,8,axis=1)
  c = b.reshape(2,4,2,4)               # line 4
  </code></pre>