[Numpy-discussion] Flattening an array
Charles R Harris
charlesr.harris at gmail.com
Thu Dec 10 00:59:22 EST 2009
On Tue, Dec 8, 2009 at 5:29 PM, Jake VanderPlas <jakevdp at gmail.com> wrote:
> Hello,
> I have a function -- call it f() -- which takes a length-N 1D numpy
> array as an argument, and returns a length-N 1D array.
> I want to pass it the data in an N-D array, and obtain the N-D array
> of the result.
> I've thought about wrapping it as such:
>
> #python code:
> from my_module import f # takes a 1D array, raises an exception otherwise
> def f_wrap(A):
> A_1D = A.ravel()
> B = f(A_1D)
> return B.reshape(A.shape)
> #end code
>
>
If the function treats both types of input the same and the input arrays are
genuinely C/F contiguous, then you can just reshape them
A_1D = A.reshape(-1, order='C') # c order
A_1D = A.reshape(-1, order='F') # fortran order
Warning: if they aren't contiguous of the proper sort, copies will be made.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20091209/f9f88911/attachment.html>
More information about the NumPy-Discussion
mailing list