sto chiedendo se c'è un modo per appiattire una matrice multidimensionale (cioè di tipo ndarray
) lungo assi trovati senza fare copie in NumPy. Ad esempio, ho una serie di immagini 2D e desidero appiattirle a un vettore. Quindi, un modo semplice per farlo è numpy.array([im.flatten() for im in images])
, ma questo crea copie di ciascuno.Come appiattire gli assi di una matrice multidimensionale senza eseguire copie in NumPy?
10
A
risposta
12
ravel
esso:
>>> 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
esso:
>>> 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]]])
In molte circostanze, questi sia restituiscono una visione della matrice originale, piuttosto che una copia.
7
Se non si conosce la forma del tuo array di input:
images.reshape((images.shape[0], -1))
-1
dice rimodellare a lavorare le dimensioni rimanenti. Ciò presuppone che tu voglia appiattire il primo asse delle immagini.
Problemi correlati
- 1. Python: come immagazzinare una matrice multidimensionale numpy in PyTables?
- 2. Numpy allineamento array multidimensionale scambia l'ordine degli assi
- 3. Come scrivere una matrice multidimensionale in un file di testo?
- 4. Inversione matrice senza Numpy
- 5. Determinante della matrice multidimensionale
- 6. Come creare una matrice multidimensionale in swift?
- 7. Numpy array multidimensionale affettare
- 8. typedef di una matrice multidimensionale?
- 9. Capire gli assi in Python
- 10. Come "appiattire" un array multidimensionale a uno semplice in PHP?
- 11. Matrice simbolica multidimensionale in Python
- 12. Reshape una matrice in NumPy
- 13. Matrice multidimensionale in Python
- 14. In looping attraverso una matrice multidimensionale in Handlebars.js
- 15. Sub matrice di una lista di liste (senza NumPy)
- 16. Filtra una matrice in Python3/Numpy e restituisce gli indici
- 17. Leggere la lista piatta in matrice/matrice multidimensionale in python
- 18. Appiattire matrice con oggetti in oggetto 1
- 19. Come creare e utilizzare una matrice multidimensionale in Scala?
- 20. Come contare il numero di elementi di una matrice multidimensionale senza utilizzare il ciclo in PHP?
- 21. Come creare una matrice di record numpy?
- 22. Come appiattire un array numpy di oggetto dtype
- 23. Come ottenere un data.frame in una matrice multidimensionale in R?
- 24. crea gli assi d3.js senza numerazione
- 25. Come ripetere gli elementi di un array lungo due assi?
- 26. Inserimento di una matrice php multidimensionale in un database mysql
- 27. Come trasporre la matrice multidimensionale in posizione
- 28. Crea dinamica di matrice multidimensionale
- 29. Zero lunghezza multidimensionale matrice
- 30. Come impostare una matrice multidimensionale in sessione con le rotaie
Grazie! 'reshape' ha fatto il trucco per me. Ho pensato prima di rompere il mapping one-to-one tra le mie matrici e vettori 2D. Ma no, ha funzionato! –