numpy.copy#
- numpy.copy(a, порядок='K', subok=False)[источник]#
Возвращает копию массива данного объекта.
- Параметры:
- aarray_like
Входные данные.
- порядок{‘C’, ‘F’, ‘A’, ‘K’}, опционально
Управляет расположением в памяти копии. 'C' означает порядок C, 'F' означает порядок F, 'A' означает 'F', если a является Fortran смежным, 'C' в противном случае. 'K' означает соответствие макету a как можно ближе. (Обратите внимание, что эта функция и
ndarray.copyочень похожи, но имеют разные значения по умолчанию для своих аргументов order=.)- subokbool, необязательно
Если True, то подклассы будут пропущены, в противном случае возвращаемый массив будет принудительно преобразован в массив базового класса (по умолчанию False).
- Возвращает:
- arrndarray
Интерпретация массива как a.
Смотрите также
ndarray.copyПредпочтительный метод создания копии массива
Примечания
Это эквивалентно:
>>> np.array(a, copy=True)
Созданная копия данных является поверхностной, то есть для массивов с dtype object новый массив будет указывать на те же объекты. См. примеры из
ndarray.copy.Примеры
>>> import numpy as np
Создать массив x со ссылкой y и копией z:
>>> x = np.array([1, 2, 3]) >>> y = x >>> z = np.copy(x)
Обратите внимание, что при изменении x меняется y, но не z:
>>> x[0] = 10 >>> x[0] == y[0] True >>> x[0] == z[0] False
Обратите внимание, что np.copy очищает ранее установленный флаг WRITEABLE=False.
>>> 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])