Time for action – manipulating array shapes
We already learned about the reshape
function. Another recurring task is flattening of arrays.
Ravel: We can accomplish this with the
ravel
function:In: b Out: array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]]) In: b.ravel() Out: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14, 15, 16, 17, 18, 19, 20, 21, 22, 23])
Flatten: The appropriately-named function,
flatten
, does the same asravel
, butflatten
always allocates new memory whereasravel
might return a view of the array.In: b.flatten() Out: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14, 15, 16, 17, 18, 19, 20, 21, 22, 23])
Setting the shape with a tuple: Besides the
reshape
function, we can also set the shape directly with a tuple, which is shown as follows:In: b.shape = (6,4) In: b Out: array([[ 0, 1, 2, 3], [ 4, 5, 6, 7...