numpy.copyto
numpy.copyto(dst, src, casting='same_kind', where=True)
Функция copyto() копирует данные из одного массива в другой с выполнением транслирования если это необходимо.
-
- dst - массив NumPy
- Массив в который будут скопированы значения.
- src - массив NumPy или подобный ему объект.
- Массив из которого будут скопированы данные.
- casting - 'no', 'equiv', 'safe', 'same_kind', 'unsafe', (необязательный)
- Этот параметр определяет какой тип данных может возникать при копировании. Значение 'no' запрещает отбрасывание типа данных, т.е. при копировании будет скопирован и тип данных; 'equiv' допускает только изменение порядка байтов; 'safe' допускает только те типы данных, которые сохраняют данные; 'same_kind' (по умолчанию) допускает только безопасные методы округления и отбрасывания, например такие как float64 в float32; 'unsafe' допускает любые преобразования данных.
- where - список или массив булевых значений
- Массив булевых значений, который транслируется по массиву dst и определяет какие элементы будут скопированы из src в dst. По умолчанию равен True, что означает копирование всех данных.
-
- ndarray - массив NumPy
- Массив, который содержит копию значений элементов другого массива, при этом тип данных, в зависимости от параметра casting может и не соответствовать типу данных исходного массива.
Смотрите так же:
copy
Примеры
>>> import numpy as np
>>>
>>> a = np.array([[1, 2], [1, 2]])
>>>
>>> b = np.array([[0, 9], [9, 0]])
>>>
>>> np.copyto(a, b) # Копирует значения из 'b' в 'a'
>>>
>>> a
array([[0, 9],
[9, 0]])
>>>
>>> b
array([[0, 9],
[9, 0]])
>>>
>>> a is b # массив 'a' стал полной копией 'b'
False
>>>
>>> c = np.array([7, 1])
>>>
>>> np.copyto(a, c) # 'c' транслируется по массиву 'a'
>>>
>>> a
array([[7, 1],
[7, 1]])
>>>
>>>
>>> a = np.zeros((5, 5))
>>> a
array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]])
>>>
>>> d = np.array([2, 3, 5, 7, 11]) # 'd' будет транслирован по 'a'
>>>
>>> # Параметр 'where' укажет какие значения будут скопированы
>>> np.copyto(a,d, where = [True, False, True, False, True])
>>>
>>> a
array([[ 2., 0., 5., 0., 11.],
[ 2., 0., 5., 0., 11.],
[ 2., 0., 5., 0., 11.],
[ 2., 0., 5., 0., 11.],
[ 2., 0., 5., 0., 11.]])