numpy.ufunc.outer
метод
-
ufunc.outer(A, B, /, **kwargs) -
Применяет ufunc
opко всем парам (a, b), где a изAи b изB.Пусть
M = A.ndim,N = B.ndim. Тогда результат,C, отop.outer(A, B)— массив размерности M + N, такой что:Для
AиBодномерных, это эквивалентно:r = empty(len(A),len(B)) for i in range(len(A)): for j in range(len(B)): r[i,j] = op(A[i], B[j]) # op = ufunc in question- Параметры
-
-
Aarray_like -
Первый массив
-
Barray_like -
Второй массив
-
kwargsany -
Аргументы, передаваемые ufunc. Обычно
dtypeилиout.
-
- Возвращает
-
-
rndarray -
Массив результата
-
См. также
-
numpy.outer -
Менее мощная версия
np.multiply.outer, котораяravelет все входные данные в 1D. Существует в основном для совместимости со старым кодом. -
tensordot -
np.tensordot(a, b, axes=((), ()))иnp.multiply.outer(a, b)ведут себя одинаково для всех размерностей a и b.
Примеры
>>> np.multiply.outer([1, 2, 3], [4, 5, 6]) array([[ 4, 5, 6], [ 8, 10, 12], [12, 15, 18]])Пример с многомерными массивами:
>>> A = np.array([[1, 2, 3], [4, 5, 6]]) >>> A.shape (2, 3) >>> B = np.array([[1, 2, 3, 4]]) >>> B.shape (1, 4) >>> C = np.multiply.outer(A, B) >>> C.shape; C (2, 3, 1, 4) array([[[[ 1, 2, 3, 4]], [[ 2, 4, 6, 8]], [[ 3, 6, 9, 12]]], [[[ 4, 8, 12, 16]], [[ 5, 10, 15, 20]], [[ 6, 12, 18, 24]]]])
© 2005–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.ufunc.outer.html