[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