How do I add rows and columns to a NUMPY array?
If you want zeroes in the added elements, my_array.resize((1600, 1000)) should work.  Note that this differs from numpy.resize(my_array, (1600, 1000)), in which previous lines are duplicated, which is probably not what you want.
Otherwise (for instance if you want to avoid initializing elements to zero, which could be unnecessary), you can indeed use  hstack and vstack to add an array containing the new elements; numpy.concatenate() (see pydoc numpy.concatenate) should work too (it is just more general, as far as I understand).
In either case, I would guess that a new memory block has to be allocated in order to extend the array, and that all these methods take about the same time.
Hello I have a 1000 data series with 1500 points in each. 
They form a (1000x1500) size Numpy array created using np.zeros((1500, 1000)) and then filled with the data. 
Now what if I want the array to grow to say 1600 x 1100? Do I have to add arrays using hstack and vstack or is there a better way?
I would want the data already in the 1000x1500 piece of the array not to be changed, only blank data (zeros) added to the bottom and right, basically.
Thanks.