擅长:python、mysql、java
<p>在有问题的情况下,它不能广播<code>(10,30784)</code>和<code>(30784,1)</code>。正如您所注意到的,当<code>(10,N)</code>与<code>(N,)</code>一起使用时,它可以工作。这是因为它可以将<code>(N,)</code>扩展到<code>(1,N)</code>,然后再扩展到<code>(10,N)</code>。你知道吗</p>
<pre><code>M = sparse.csr_matrix(...).todense()
</code></pre>
<p>是<code>np.matrix</code>,总是2d,所以<code>M(:,0)</code>是<code>(N,1)</code>。有几种解决方案。你知道吗</p>
<pre><code>np.power(beta.T, M[:,0].T) # change to a (1,N)
np.power(beta, M[:,0]) # line up the expandable dimensions
</code></pre>
<p>将稀疏矩阵转换为数组:</p>
<pre><code>A = sparse.....toarray()
np.power(beta.T, A[:,0])
</code></pre>
<p><code>M[:,0].squeeze()</code>和<code>M[:,0].ravel()</code>都产生一个<code>(1,N)</code>矩阵。<code>M[:,0].reshape(-1)</code>也是如此。只要返回<code>matrix</code>,2d质量是持久的。你知道吗</p>
<p><code>M[:,0].A1</code>产生一个(N,)数组</p>
<p>很久以前:<a href="https://stackoverflow.com/questions/3337301/numpy-matrix-to-array">Numpy matrix to array</a></p>