numpy.copy#
- numpy.copy(a, order='K', subok=False)[source]#
Return an array copy of the given object.
- Parameters:
- aarray_like
Input data.
- order{‘C’, ‘F’, ‘A’, ‘K’}, optional
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
ndarray.copy
are very similar, but have different default values for their order= arguments.)- subokbool, optional
If True, then sub-classes will be passed-through, otherwise the returned array will be forced to be a base-class array (defaults to False).
- Returns:
- arrndarray
Array interpretation of a.
See also
ndarray.copy
Preferred method for creating an array copy
Notes
This is equivalent to:
>>> np.array(a, copy=True)
The copy made of the data is shallow, i.e., for arrays with object dtype, the new array will point to the same objects. See Examples from
ndarray.copy
.Examples
>>> import numpy as np
Create an array x, with a reference y and a copy z:
>>> x = np.array([1, 2, 3]) >>> y = x >>> z = np.copy(x)
Note that, when we modify x, y changes, but not z:
>>> x[0] = 10 >>> x[0] == y[0] True >>> x[0] == z[0] False
Note that, np.copy clears previously set WRITEABLE=False flag.
>>> a = np.array([1, 2, 3]) >>> a.flags["WRITEABLE"] = False >>> b = np.copy(a) >>> b.flags["WRITEABLE"] True >>> b[0] = 3 >>> b array([3, 2, 3])