/    /  NumPy – Array Manipulation

NumPy – Array Manipulation:

We can change the array shape using the Array manipulation routines like reshape and ravel.

reshape: This will give us the new shape for an array without changing its data

ravel: This will return the contiguous flattened array.

We can transpose an array using the ndarray.T Operation which will be same if self.ndim is less than 2

Let us work on an example.

Example:

# creating array of 2 * 3 dimension

>>> a=np.array([[1,2,3],[4,5,6]])
>>> a
array([[1, 2, 3],
[4, 5, 6]])

 

# using ravel to flatten the array

>>> a.ravel()
array([1, 2, 3, 4, 5, 6])

 

# transpose the array from 2 * 3 dimension to 3 * 2 dimension

>>> a.T
array([[1, 4],
[2, 5],
[3, 6]])

 

# ravel the transposed array

>>> a.T.ravel()
array([1, 4, 2, 5, 3, 6])

 

# Using the reshape option to revert from ravel.

>>> a.T.ravel().reshape((2,3))
array([[1, 4, 2],
[5, 3, 6]])

Using the shape and reshape

>>> a=np.arange(4*3*2)
>>> a
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])

>>> a.reshape(4,3,2)
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]]])

>>> a.shape
(24,)

>>> b=a.reshape(4,3,2)

>>> b
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]]])

>>> b.shape
(4, 3, 2)