Examples of how to add a new column of nan values in a matrix with numpy:
Create an array
Let's first create an array with numpy
import numpy as np
A = np.arange(20)
A = A.reshape(5,4)
A = A.astype('float64')
returns
array([[ 0., 1., 2., 3.],
[ 4., 5., 6., 7.],
[ 8., 9., 10., 11.],
[12., 13., 14., 15.],
[16., 17., 18., 19.]])
Create a column of nan
new_col = np.empty((A.shape[0],1))
new_col.fill(np.nan)
new_col
returns
array([[nan],
[nan],
[nan],
[nan],
[nan]])
Add a column of nans values in first column
new_A = np.c_[new_col,A]
new_A
returns
array([[nan, 0., 1., 2., 3.],
[nan, 4., 5., 6., 7.],
[nan, 8., 9., 10., 11.],
[nan, 12., 13., 14., 15.],
[nan, 16., 17., 18., 19.]])
Add a column of nans in last column
new_A = np.c_[A,new_col]
new_A
returns
array([[ 0., 1., 2., 3., nan],
[ 4., 5., 6., 7., nan],
[ 8., 9., 10., 11., nan],
[12., 13., 14., 15., nan],
[16., 17., 18., 19., nan]])
Add a column of nans for a given index
new_A = np.insert(A,2,new_col.T,axis=1)
new_A
returns
array([[ 0., 1., nan, 2., 3.],
[ 4., 5., nan, 6., 7.],
[ 8., 9., nan, 10., 11.],
[12., 13., nan, 14., 15.],
[16., 17., nan, 18., 19.]])
References
- c_ | docs.scipy.org
- numpy.insert | docs.scipy.org
- How to add an extra column to a NumPy array | stackoverflow
- numpy.random.randint | docs.scipy.org