Inserting a row at a specific location in a 2d array in numpy?

Question:

I have a 2d array in numpy where I want to insert a new row. Following question Numpy – add row to array can help. We can use numpy.vstack, but it stacks at the start or at the end. Can anyone please help in this regard.

Asked By: Shan

||

Answers:

You are probably looking for numpy.insert

>>> import numpy as np
>>> a = np.zeros((2, 2))
>>> a
array([[ 0.,  0.],
       [ 0.,  0.]])
# In the following line 1 is the index before which to insert, 0 is the axis.
>>> np.insert(a, 1, np.array((1, 1)), 0)  
array([[ 0.,  0.],
       [ 1.,  1.],
       [ 0.,  0.]])
>>> np.insert(a, 1, np.array((1, 1)), 1)
array([[ 0.,  1.,  0.],
       [ 0.,  1.,  0.]])
Answered By: mac
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.