[Numpy-discussion] array is not broadcastable to correct shape
Keith Goodman
kwgoodman at gmail.com
Mon Jan 22 11:23:46 CST 2007
What is the simplest way to make the sum of the positive elements in a
Nx1 matrix equal 1?
I end up converting the matrix to an array, doing the normalization,
then converting the array back to a matrix.
>> m = M.randn(10,1)
>> m[m > 0,:] = m[m > 0,:] / m[m > 0,:].sum()
---------------------------------------------------------------------------
exceptions.ValueError Traceback (most
recent call last)
<ipython console>
ValueError: array is not broadcastable to correct shape
>>
>> a = M.asarray(m)
>> a[a > 0,:] = a[a > 0,:] / a[a > 0,:].sum()
>> a[a > 0,:].sum()
1.0
>> m = M.asmatrix(a)
More information about the Numpy-discussion
mailing list