numpy.broadcast
numpy.broadcast(arys1, arys2, ..., arysN)
Функция broadcast() создает объект, который имитирует транслирование массивов.
-
- arys1, arys2, ..., arysN - подобные массивам объекты
- Любые объекты которые могут быть преобразованы в массивы NumPy.
-
- broadcast object - объект транслирования
- Объект, который имитирует транслирование входных массивов относительно друг друга. Он может использоваться как итератор, который сохраняет свойства формы и размерности входных массивов.
Смотрите так же:
broadcast_arrays
,
broadcast_to
Примеры
>>> a = [1]
>>> b = [[2, 2], [3, 3]]
>>> np.broadcast(a, b)
<numpy.broadcast object at 0x97cb150>
>>>
>>> list(np.broadcast(a, b))
[(1, 2), (1, 2), (1, 3), (1, 3)]
>>>
>>> # Данный объект можно использовать как обычный итератор
... a = np.array([[1], [2], [3]])
>>> b = np.array([1, 2, 3])
>>>
>>> list(np.broadcast(a, b))
[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
>>>
>>> iter = np.broadcast(a, b)
>>>
>>> [i[0] +i [1] for i in iter]
[2, 3, 4, 3, 4, 5, 4, 5, 6]
>>>
>>> iter = np.broadcast(a, b)
>>>
>>> iter.shape
(3, 3)
>>>
>>> z = np.zeros(iter.shape)
>>> z
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])
>>>
>>> z.flat = [i[0] + i[1] for i in iter]
>>> z
array([[ 2., 3., 4.],
[ 3., 4., 5.],
[ 4., 5., 6.]])
>>>
>>> a + b # Результат автоматического транслирования:
array([[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])