Example of how to add a new axis to transform a matrix of shape (n,) to (n,1) with numpy in python:

Table of contents

### Create a matrix with numpy

Let's first create a matrix of one dimension:

`import numpy as np`

`A = np.arange(10)`

returns

`[0 1 2 3 4 5 6 7 8 9]`

Then the shape of matrix A is:

`A.shape`

`(10,)`

### Add a new axis with numpy.newaxis

To add a new axis, a solution is to use numpy.newaxis:

`A = A[:,np.newaxis]`

Then if we now check the shape of matrix A:

`A.shape`

returns

`(10, 1)`

and print(A) returns

`[[0]`

`[1]`

`[2]`

`[3]`

`[4]`

`[5]`

`[6]`

`[7]`

`[8]`

`[9]]`

Note: it is also possible to do

`A = A[np.newaxis,:]`

returns then a shape:

`(1,10,)`

and A

`[[[0]`

`[1]`

`[2]`

`[3]`

`[4]`

`[5]`

`[6]`

`[7]`

`[8]`

`[9]]]`

### Using reshape

Other solution using reshape

`A = A.reshape(10,1)`

`print(A.shape)`

returns

`(10, 1)`