擅长:python、mysql、java
<p>您可以定义一个<code>3 x 3</code>形状的<code>2D</code>数组,并执行矩阵乘法,如-</p>
<pre><code>scale = np.array([[1,0,0],[0,1,0],[0,0,1]])
from_ABC = np.dot(vector.values.ravel()*scale,matrix)
</code></pre>
<p>样本运行-</p>
^{pr2}$
<p>这里有一个使用<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.einsum.html" rel="nofollow">^{<cd3>}</a>的替代方法,可以在一个步骤中完成所有这些操作-</p>
<pre><code>np.einsum('ij,ji,ik->jk',vector.values,scale,matrix)
</code></pre>
<p>样本运行-</p>
<pre><code>In [915]: np.einsum('ij,ji,ik->jk',vector.values,scale,matrix)
Out[915]:
array([[ 0.5, 0.4, 0.1],
[ 0.9, 1.6, 0.5],
[ 0.8, 1.3, 1.9]])
</code></pre>