numpy.broadcast_arrays#
- numpy.broadcast_arrays(*args, subok=False)[источник]#
Транслировать любое количество массивов друг относительно друга.
- Параметры:
- *argsarray_likes
Массивы для трансляции.
- subokbool, необязательно
Если True, то подклассы будут пропущены, в противном случае возвращаемые массивы будут принудительно преобразованы в базовый класс массива (по умолчанию).
- Возвращает:
- транслируетсякортеж массивов
Эти массивы являются представлениями исходных массивов. Они обычно не являются непрерывными. Более того, более одного элемента вещаемого массива могут ссылаться на одно место в памяти. Если вам нужно записывать в массивы, сначала создайте копии. Хотя вы можете установить
writableфлаг True, запись в одно выходное значение может привести к изменению более чем одного места в выходном массиве.Устарело с версии 1.17: Выходные данные в настоящее время помечены так, что при записи будет выдано предупреждение об устаревании. Будущая версия установит
writableфлаг False, поэтому запись в него вызовет ошибку.
Смотрите также
Примеры
>>> 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]])]