numpy ufunc.outer 用法及代码示例

用法:
ufunc.outer(A, B, **kwargs)
将ufunc op应用于A中的a和b中的b的所有对(a,b)。

让M = A.ndim,N = B.ndim。然后,结果Cop.outer(A, B)是维M + N的数组,使得:

PoDU2I

对于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
描述
参数 A: : array_like

第一个数组
B: : array_like

第二个数组
kwargs: : any

传递给ufunc的参数。通常dtype或出去。

返回值 r: : ndarray

输出数组

例子:

>>> 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]]]])

发表回复

登录... 后才能评论