| [ Web Proxy ] |
| Viewing: https://numpy.org/doc/stable/reference/generated/../generated/numpy.ma.MaskedArray.copy.html | [Back] [Original] |
method
Return a copy of the array.
Controls the memory layout of the copy. C means C-order,
F means F-order, A means F if a is Fortran contiguous,
C otherwise. K means match the layout of a as closely
as possible. (Note that this function and numpy.copy are very
similar but have different default values for their order=
arguments, and this function always passes sub-classes through.)
See also
numpy.copySimilar function with different default behavior
numpy.copytoNotes
This function is the preferred method for creating an array copy. The
function numpy.copy is similar, but it defaults to using order K,
and will not pass sub-classes through by default.
Examples
>>> import numpy as np
>>> 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
For arrays containing Python objects (e.g. dtype=np.object_), the copy is a shallow one. The new array will contain the same object which may lead to surprises if that object can be modified (is mutable):
>>> a = np.array([1, 'm', [2, 3, 4]], dtype=np.object_)
>>> b = a.copy()
>>> b[2][0] = 10
>>> a
array([1, 'm', list([10, 3, 4])], dtype=object)
To ensure all elements within an object array are copied,
use copy.deepcopy:
>>> import copy
>>> a = np.array([1, 'm', [2, 3, 4]], dtype=np.object_)
>>> c = copy.deepcopy(a)
>>> c[2][0] = 10
>>> c
array([1, 'm', list([10, 3, 4])], dtype=object)
>>> a
array([1, 'm', list([2, 3, 4])], dtype=object)
| Web Proxy Viewer | New URL | Original Page |