Numpy - add row to array
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 npA = np.vstack((A, X[X[:,0] < 3]))# returns: array([[0, 1, 2], [0, 2, 0], [0, 1, 2], [1, 2, 0], [2, 1, 2]])
As this question is been 7 years before, in the latest version which I am using is numpy version 1.13, and python3, I am doing the same thing with adding a row to a matrix, remember to put a double bracket to the second argument, otherwise, it will raise dimension error.
In here I am adding on matrix A
1 2 34 5 6
with a row
7 8 9
same usage in np.r_
A = [[1, 2, 3], [4, 5, 6]]np.append(A, [[7, 8, 9]], axis=0) >> array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])#or np.r_[A,[[7,8,9]]]
Just to someone's intersted, if you would like to add a column,
array = np.c_[A,np.zeros(#A's row size)]
following what we did before on matrix A, adding a column to it
np.c_[A, [2,8]]>> array([[1, 2, 3, 2], [4, 5, 6, 8]])
If you want to prepend, you can just flip the order of the arguments, i.e.:
np.r_([[7, 8, 9]], A) >> array([[7, 8, 9], [1, 2, 3], [4, 5, 6]])