[Numpy-discussion] Array resize question closed

Cristi Constantin darkgl0w at yahoo.com
Wed Jun 17 03:07:41 EDT 2009


Thank you Neil Martinsen-Burrell and Scott Sinclair for your answers. :)
It's exactly what i wanted to know. I will use hstack and vstack to "resize" my array.
Have a nice day.

--- On Wed, 6/17/09, Scott Sinclair <scott.sinclair.za at gmail.com> wrote:

The resize method of ndarray is currently broken when the 'order'
keyword is specified, which is why you get the SystemError

http://projects.scipy.org/numpy/ticket/840

It's also worth knowing that the resize function and the ndarray
resize method both behave a little differently. Compare:

http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.resize.html

and

http://docs.scipy.org/doc/numpy/reference/generated/numpy.resize.html

Basically, the data in your original array is inserted into the new
array in the one dimensional order that it's stored in memory and any
remaining space is filled with repeats of the data (resize function)
or packed with zero's (resize array method).

# resize function
>>> import numpy as np
>>> a = np.array([[1, 2],[3, 4]])
>>> print a
[[1 2]
 [3 4]]
>>> print np.resize(a, (3,3))
[[1, 2, 3],
 [4, 1, 2],
 [3, 4, 1]])

#resize array method
>>> b = np.array([[1, 2],[3, 4]])
>>> print b
[[1 2]
 [3 4]]
>>> b.resize((3,3))
>>> print b
[[1 2 3]
 [4 0 0]
 [0 0 0]]

Neil's response gives you what you want in this case.

Cheers,
Scott
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion at scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion



      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20090617/03277d43/attachment.html>


More information about the NumPy-Discussion mailing list