繁体   English   中英

在python中乘以多维数组

[英]multiply multidimensional arrays in python

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

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

我需要将每个A [1]乘以B [1],这将得到一个Nx1数组,整个操作的输出将是一个LxN 2d数组。 有没有可以做到这一点的功能还是我需要一个循环?

选项是np.einsum

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

这导致(L,N)大小的阵列包含所有A[i].T.dot(B[i])矩阵乘积

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM