[Numpy-discussion] arr.copy(order='F') doesn't agree with docstring: what is intended behavior?

Warren Weckesser warren.weckesser at enthought.com
Sat Jun 26 20:34:32 EDT 2010


Kurt Smith wrote:
> I'd really like arr.copy(order='F') to work -- is it supposed to as
> its docstring says, or is it supposed to raise a TypeError as it does
> now?
>   

It works for me if I don't use the keyword.  That is,

 >>> b = a.copy('F')

But I get the same error if I use order='F', so there is a either a bug 
in the docstring or a bug in the code.

Warren


> This is on numpy 1.4
>
>   
>>>> import numpy as np
>>>> a = np.arange(10).reshape(5,2)
>>>> a
>>>>         
> array([[0, 1],
>        [2, 3],
>        [4, 5],
>        [6, 7],
>        [8, 9]])
>   
>>>> print a.copy.__doc__
>>>>         
> a.copy(order='C')
>
>     Return a copy of the array.
>
>     Parameters
>     ----------
>     order : {'C', 'F', 'A'}, optional
>         By default, the result is stored in C-contiguous (row-major) order in
>         memory.  If `order` is `F`, the result has 'Fortran' (column-major)
>         order.  If order is 'A' ('Any'), then the result has the same order
>         as the input.
>
>     Examples
>     --------
>     >>> x = np.array([[1,2,3],[4,5,6]], order='F')
>
>     >>> y = x.copy()
>
>     >>> x.fill(0)
>
>     >>> x
>     array([[0, 0, 0],
>            [0, 0, 0]])
>
>     >>> y
>     array([[1, 2, 3],
>            [4, 5, 6]])
>
>     >>> y.flags['C_CONTIGUOUS']
>     True
>   
>>>> a.copy(order='C')
>>>>         
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: copy() takes no keyword arguments
>   
>>>> a.copy(order='F')
>>>>         
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> TypeError: copy() takes no keyword arguments
>   
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>   




More information about the NumPy-Discussion mailing list