python - multiplicacion - Matriz Numpy para matriz
multiplicacion de matrices python numpy (8)
Estoy usando numpy. Tengo una matriz con 1 columna y N filas y quiero obtener una matriz con N elementos.
Por ejemplo, si tengo M = matrix([[1], [2], [3], [4]])
, quiero obtener A = array([1,2,3,4])
.
Para lograrlo, utilizo A = np.array(MT)[0]
. ¿Alguien sabe una forma más elegante de obtener el mismo resultado?
¡Gracias!
Esto convertirá la matriz en una matriz
A = np.ravel(M).T
O podrías intentar evitar algunas temperaturas con
A = M.view(np.ndarray)
A.shape = -1
Primero, Mv = numpy.asarray(MT)
, que le proporciona una matriz de 4x1 pero 2D.
Luego, realice A = Mv[0,:]
, que le proporciona lo que desea. Podrías juntarlos, como numpy.asarray(MT)[0,:]
.
Puedes probar la siguiente variante:
result=np.array(M).flatten()
Si quieres algo un poco más legible, puedes hacer esto:
A = np.squeeze(np.asarray(M))
De forma equivalente, también podría hacer: A = np.asarray(M).reshape(-1)
, pero eso es un poco menos fácil de leer.
A, = np.array(M.T)
depende de lo que quieras decir con elegancia, supongo, pero eso es lo que haría
np.array(M).ravel()
Si te importa la velocidad; Pero si te importa la memoria:
np.asarray(M).ravel()
result = M.A1
http://docs.scipy.org/doc/numpy/reference/generated/numpy.matrix.A1.html#numpy.matrix.A1
matrix.A1
1-d base array