numpy.ma.MaskedArray.copy
метод
- ma.MaskedArray.copy(order='C')[source]
-
Возвращает копию массива.
- Параметры:
-
- order{‘C’, ‘F’, ‘A’, ‘K’}, необязательно
-
Управляет макетом памяти копии. ‘C’ означает порядок C, ‘F’ означает порядок F, ‘A’ означает ‘F’, если
aявляется фортран-непрерывным, в противном случае ‘C’. ‘K’ означает соответствие макетуaкак можно более точно. (Обратите внимание, что эта функция иnumpy.copyочень похожи, но имеют разные значения по умолчанию для своих аргументов order=, и эта функция всегда пропускает подклассы.)
См. также
numpy.copy-
Аналогичная функция с другим поведением по умолчанию
numpy.copyto
Примечания
Эта функция является предпочтительным методом для создания копии массива. Функция
numpy.copyаналогична, но по умолчанию использует порядок ‘K’ и по умолчанию не пропускает подклассы.Примеры
>>> 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
Для массивов, содержащих объекты Python (например, dtype=object), копия является поверхностной. Новый массив будет содержать тот же объект, что может привести к неожиданным результатам, если этот объект может быть изменён (является изменяемым):
>>> a = np.array([1, 'm', [2, 3, 4]], dtype=object) >>> b = a.copy() >>> b[2][0] = 10 >>> a array([1, 'm', list([10, 3, 4])], dtype=object)
Чтобы гарантировать, что все элементы в массиве
objectскопированы, используйтеcopy.deepcopy:>>> import copy >>> a = np.array([1, 'm', [2, 3, 4]], dtype=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)
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.ma.MaskedArray.copy.html