在python中乘以多维数组

2024-05-01

我在 3d 数组中存储了许多 2d 数组,我需要将每个数组与一个向量相乘。所以我将所有这些向量存储在一个二维数组中。就像这样:

A = np.random.random((L, M, N))
B = np.random.random((L, M))

我需要将每个 A[l] 乘以 B[l],这会产生一个 Nx1 数组,整个操作的输出将是一个 LxN 二维数组。是否有一个函数可以做到这一点或者我需要一个循环?


一个选项是np.einsum https://docs.scipy.org/doc/numpy/reference/generated/numpy.einsum.html

import numpy as np
output = np.einsum("ijk, ij -> ik", A, B)

这会产生一个 (L, N) 大小的数组,其中包含所有矩阵的乘积A[i].T.dot(B[i])

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在python中乘以多维数组 的相关文章

随机推荐