np.insert
also serves the purpose.
matA = np.array([[1,2,3],
[2,3,4]])
idx = 3
new_col = np.array([0, 0])
np.insert(matA, idx, new_col, axis=1)
array([[1, 2, 3, 0],
[2, 3, 4, 0]])
It inserts values, here new_col
, before a given index, here idx
along one axis. In other words, the newly inserted values will occupy the idx
column and move what were originally there at and after idx
backward.