I'm looking for a way to efficiently add a fixed number of np.nan values at the beginning of each array in a numpy array of shape (3,123...):
Original numpy array:
[[1,2,3...],
[4,5,6...],
[7,8,9...]]
New numpy array:
[[nan,nan,1,2,3...],
[nan,nan,4,5,6...],
[nan,nan,7,8,9...]]
I tried with a for loop:
import numpy as np
original_array = np.random.rand(3,3)
gap = np.empty(shape=(2,))
gap.fill(np.nan)
new_array = np.zeros(shape=(3,5))
for i,row in enumerate(original_array):
new_array[i] = np.concatenate([gap,row])
It works but this is probably not the best way to do it.
np.hstack