numpy.broadcast_arrays#

numpy.broadcast_arrays(*args, subok=False)[источник]#

Транслировать любое количество массивов друг относительно друга.

Параметры:
*argsarray_likes

Массивы для трансляции.

subokbool, необязательно

Если True, то подклассы будут пропущены, в противном случае возвращаемые массивы будут принудительно преобразованы в базовый класс массива (по умолчанию).

Возвращает:
транслируетсякортеж массивов

Эти массивы являются представлениями исходных массивов. Они обычно не являются непрерывными. Более того, более одного элемента вещаемого массива могут ссылаться на одно место в памяти. Если вам нужно записывать в массивы, сначала создайте копии. Хотя вы можете установить writable флаг True, запись в одно выходное значение может привести к изменению более чем одного места в выходном массиве.

Устарело с версии 1.17: Выходные данные в настоящее время помечены так, что при записи будет выдано предупреждение об устаревании. Будущая версия установит writable флаг False, поэтому запись в него вызовет ошибку.

Смотрите также

broadcast
broadcast_to
broadcast_shapes

Примеры

>>> import numpy as np
>>> x = np.array([[1,2,3]])
>>> y = np.array([[4],[5]])
>>> np.broadcast_arrays(x, y)
(array([[1, 2, 3],
        [1, 2, 3]]),
 array([[4, 4, 4],
        [5, 5, 5]]))

Вот полезный приём для получения непрерывных копий вместо непрерывных представлений.

>>> [np.array(a) for a in np.broadcast_arrays(x, y)]
[array([[1, 2, 3],
        [1, 2, 3]]),
 array([[4, 4, 4],
        [5, 5, 5]])]