Me pregunto si hay una manera de aplanar una matriz multidimensional (es decir, del tipo ndarray
) a lo largo de los ejes dados sin hacer copias en NumPy. Por ejemplo, tengo una matriz de imágenes en 2D y deseo aplanar cada una a un vector. Entonces, una manera fácil de hacerlo es numpy.array([im.flatten() for im in images])
, pero eso crea copias de cada uno.Cómo aplanar los ejes de una matriz multidimensional sin hacer copias en NumPy?
10
A
Respuesta
12
ravel
que:
>>> a = numpy.arange(25).reshape((5, 5))
>>> b = a.ravel()
>>> b[0] = 55
>>> a
array([[55, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
O reshape
que:
>>> a = numpy.arange(27).reshape((3, 3, 3))
>>> b = a.reshape((9, 3))
>>> b[0] = 55
>>> a
array([[[55, 55, 55],
[ 3, 4, 5],
[ 6, 7, 8]],
[[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
[[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])
En circunstancias normales, éstos ambos devuelven una vista de la matriz original, en lugar de una copia.
7
Si usted no sabe la forma de la matriz de entrada:
images.reshape((images.shape[0], -1))
-1
dice formar de nuevo a trabajar a cabo las restantes dimensiones. Esto supone que desea aplanar el primer eje de las imágenes.
Cuestiones relacionadas
- 1. Numpy: ordenar una matriz multidimensional por una matriz multidimensional
- 2. Numpy matriz multidimensional rebanar
- 3. Autocorrelación de una matriz multidimensional en numpy
- 4. ¿Cómo encontrar los mínimos locales de una matriz multidimensional suave en NumPy de manera eficiente?
- 5. Cómo imprimir una matriz Numpy sin corchetes?
- 6. ¿Cómo hacer una matriz multidimensional dinámica en ruby?
- 7. ¿Ver en una matriz numpy?
- 8. Cómo establecer una matriz multidimensional en sesión con los carriles
- 9. ¿Cómo urlencode una matriz multidimensional?
- 10. ¿Cómo recorre una matriz multidimensional?
- 11. ¿Cómo se puede hacer que una matriz multidimensional sea única?
- 12. array_slice en una matriz multidimensional?
- 13. Arrays PHP: ¿cómo hacer una matriz unidimensional en una matriz multidimensional anidada?
- 14. Cómo aplanar matriz 2D a matriz 1D?
- 15. ¿Cómo imprimo una matriz multidimensional en ruby?
- 16. JavaScript: ¿Cómo obtener los valores de una matriz multidimensional?
- 17. ¿Cómo dividir una matriz según una condición en numpy?
- 18. array_push en una matriz multidimensional
- 19. forma correcta y eficiente de aplanar matriz en numpy en python?
- 20. ¿Cómo hacer una matriz nudo multidimensional con un tamaño de fila variable?
- 21. Crea una matriz multidimensional dinámica
- 22. ¿Almacena una matriz multidimensional en una cookie?
- 23. typedef de una matriz multidimensional?
- 24. PHP - Almacenando mysql_fetch_assoc en una matriz multidimensional
- 25. almacenando permisos en una matriz multidimensional php
- 26. Cómo aplanar la matriz en jQuery?
- 27. ¿Cómo acceder a la i-ésima columna de una matriz multidimensional NumPy?
- 28. SetLength en matriz multidimensional
- 29. Cómo analizar una matriz numpy?
- 30. Actualización de una matriz multidimensional en PHP
¡Gracias! 'reshape' hizo el truco para mí. Pensé antes que rompería el mapeo uno a uno entre mis matrices 2D y vectores. ¡Pero no, funcionó! –