我需要将一个矩阵,例如维数为[3x2]的numpy数组A乘以维数为[1x4]的1d数组B,以产生4个[3x2]矩阵的数组C,即[4 x [3x2] ]例如C[0]是一个[3x2]矩阵= AB[0]C[1] = AB[1]等等。没有for i in B循环,而是作为1行操作。
ubof19bj1#
使用广播:
>>> a = np.arange(6).reshape(3, 2) >>> a array([[0, 1], [2, 3], [4, 5]]) >>> b = np.arange(4).reshape(1, 4) >>> b array([[0, 1, 2, 3]]) >>> c = b[None].T * a # Multiply (4, 1, 1) with (3, 2) >>> c array([[[ 0, 0], [ 0, 0], [ 0, 0]], [[ 0, 1], [ 2, 3], [ 4, 5]], [[ 0, 2], [ 4, 6], [ 8, 10]], [[ 0, 3], [ 6, 9], [12, 15]]]) >>> c.shape (4, 3, 2)
1条答案
按热度按时间ubof19bj1#
使用广播: