Ho un array 2D di forma (x, y) che voglio convertire in una matrice 3d con forma (x, y, 1). C'è un bel modo pitonico per fare questo?Come rendere un array 2p numpy un array 3d?
17
A
risposta
31
In aggiunta alle altre risposte, è possibile utilizzare anche affettare con numpy.newaxis
:
>>> from numpy import zeros, newaxis
>>> a = zeros((6, 8))
>>> a.shape
(6, 8)
>>> b = a[:, :, newaxis]
>>> b.shape
(6, 8, 1)
O anche questo (che funziona con un numero arbitrario di dimensioni):
>>> b = a[..., newaxis]
>>> b.shape
(6, 8, 1)
2
import numpy as np
a= np.eye(3)
print a.shape
b = a.reshape(3,3,1)
print b.shape
6
numpy.reshape(array, array.shape + (1,))
+0
Grazie, ho usato un = A.reshape (A.shape + (1,)) – nobody
+2
Se sei felice di modificare 'A' in atto, si può semplicemente assegnare l'attributo shape: 'A.shape = A.shape + (1,)', o anche 'A.shape + = 1,'. –
Problemi correlati
- 1. come convertire la lista 2d in array 2p numpy?
- 2. NumPy 3D-immagine array 2D
- 3. Aggiungi un array NumPy a un array NumPy
- 4. Creazione di un grafico 3D da un array 3D di numpy
- 5. inizializzare un array di NumPy
- 6. Conversione di un array numpy 2D in un array strutturato
- 7. Come stampare un array Numpy senza parentesi?
- 8. Come assegnare un array numpy 1D all'array numpy 2D?
- 9. Convertire un array numpy in una stringa CSV e una stringa CSV in un array numpy
- 10. Creare un array numpy diagonale a blocchi da un determinato array numpy
- 11. Come convertire la lista di array numpy in un singolo array numpy?
- 12. SciPy interpolazione su un array NumPy
- 13. Splitting un array NumPy in due matrici
- 14. Costruire un enorme array numpy usando pytables
- 15. Sommare una riga di un array NumPy
- 16. Colonne shuffle di un array con Numpy
- 17. Diagonale superiore di un array numpy 2D
- 18. Visualizza un array numpy in Kivy
- 19. Compensazione di un array numpy 2D
- 20. Condividi un array numpy nei processi gunicorn
- 21. numpy: applicazione di argsort a un array
- 22. Appiattimento di un elenco di array NumPy?
- 23. numpy save/load corrompendo un array
- 24. derivata numpy seconda di un array ndimensionale
- 25. Come si dissolve un motivo in un array numpy?
- 26. Come si suddivide un array Numpy fino a un limite?
- 27. Come convertire un set python in un array numpy?
- 28. python, numpy; Come inserire un elemento all'inizio di un array
- 29. Indice al centro di un array numpy?
- 30. Assegnazione di valori a un array NumPy
In una nota a margine, 'numpy.newaxis' è semplicemente' None'. 'newaxis' è" solo "per la leggibilità. E 'pari a poco fare 'b = a [..., Nessuno]' (I puntini di sospensione permette anche di lavorare per gli array N-dimensionali, non solo gli array 2D.) –
Vero. Per qualche motivo ho avuto l'impressione che '' newaxis' essendo none' era solo un dettaglio di implementazione (e quindi forse anche soggetto a modifiche in futuro), ma sembra che sia esplicitamente documentata. –
Supponiamo che il terzo asse sia qualcosa di diverso da 1? per esempio. come si converte 'a' in be' b' con 'b.shape = (6,8,3)'? – Gathide