## Question

Asked By – Darren J. Fitzpatrick

How does one add rows to a numpy array?

I have an array A:

```
A = array([[0, 1, 2], [0, 2, 0]])
```

I wish to add rows to this array from another array X if the first element of each row in X meets a specific condition.

Numpy arrays do not have a method ‘append’ like that of lists, or so it seems.

If A and X were lists I would merely do:

```
for i in X:
if i[0] < 3:
A.append(i)
```

Is there a *numpythonic* way to do the equivalent?

Thanks,

S 😉

**Now we will see solution for issue: Numpy – add row to array **

## Answer

What is `X`

? If it is a 2D-array, how can you then compare its row to a number: `i < 3`

?

EDIT after OP’s comment:

```
A = array([[0, 1, 2], [0, 2, 0]])
X = array([[0, 1, 2], [1, 2, 0], [2, 1, 2], [3, 2, 0]])
```

add to `A`

all rows from `X`

where the first element `< 3`

:

```
import numpy as np
A = np.vstack((A, X[X[:,0] < 3]))
# returns:
array([[0, 1, 2],
[0, 2, 0],
[0, 1, 2],
[1, 2, 0],
[2, 1, 2]])
```

This question is answered By – eumiro

**This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 **