Creando una matriz dispersa de una matriz numpy

Necesito crear una matriz con valores de una matriz numpy. Los valores deben distribuirse sobre las líneas de la matriz de acuerdo con una matriz de índices.

Me gusta esto:

>>> values
array([ 0.73620381,  0.61843002,  0.33604769,  0.72344274,  0.48943796])
>>> inds
array([0, 1, 2, 3, 2])
>>> m = np.zeros((4, 5))
>>> for i, (index, value) in enumerate(zip(inds, values)):
        m[index, i] = value
>>> m
array([[ 0.73620381,  0.        ,  0.        ,  0.        ,  0.        ],
       [ 0.        ,  0.61843002,  0.        ,  0.        ,  0.        ],
       [ 0.        ,  0.        ,  0.33604769,  0.        ,  0.48943796],
       [ 0.        ,  0.        ,  0.        ,  0.72344274,  0.        ]])

Me gustaría saber si hay una forma vectorizada de hacerlo, es decir, sin un bucle. ¿Alguna sugerencia?

Respuestas a la pregunta(2)

Su respuesta a la pregunta