Mam tablicę 2d o kształcie (x, y), którą chcę przekonwertować na tablicę 3d o kształcie (x, y, 1). Czy istnieje przyjemny sposób Pythonic to zrobić?Jak uczynić tablicę 2d numpy tablicą 3d?
17
A
Odpowiedz
31
W uzupełnieniu do innych odpowiedzi, można użyć również krojenie z numpy.newaxis
:
>>> from numpy import zeros, newaxis
>>> a = zeros((6, 8))
>>> a.shape
(6, 8)
>>> b = a[:, :, newaxis]
>>> b.shape
(6, 8, 1)
lub nawet ten (który będzie współpracować z dowolnej liczbie wymiarów):
>>> 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
Dzięki, użyłem A = A.reshape (A.shape + (1,)) – nobody
+2
Jeśli chcesz zmodyfikować 'A' na miejscu, możesz po prostu przypisać do atrybut kształtu: 'A.shape = A.shape + (1,)', lub nawet 'A.shape + = 1,'. –
Powiązane problemy
- 1. numpy 3D obraz tablicy 2D
- 2. Numpy łączy tablice 2D z tablicą 1D
- 3. 3d tablica Numpy do 2d
- 4. Jak pomnożyć numpy tablicę 2D z numpy 1D array?
- 5. Seria plasterek 2D tablicy 3D w numpy
- 6. Jak przekonwertować tablicę 2D Numpy z dtypem obiektu na zwykłą tablicę 2D z pływającymi obiektami?
- 7. Jak przypisać tablicę 1D numpy do tablicy 2D numpy?
- 8. Czy numpy argsort zwraca tablicę indeksów 2d?
- 9. Konwertuj tablicę 2D numpy na C++ short **?
- 10. Get znaczy 2D plasterka tablicy 3D w numpy
- 11. Utwórz tablicę 2D Numpy ze współrzędnych
- 12. Konwertuj tablicę 1D na tablicę 2D w numpy
- 13. 3d numpy tablica rekordów
- 14. Unikalna podrzędna 2D Numpy
- 15. jak zmodyfikować tablicę 2D numpy w określonych lokalizacjach bez pętli?
- 16. NumPy: używaj tablicy indeksu 2D z argmin w plasterku 3D
- 17. Dołącz tablicę 2D do tablicy 3D, rozszerzając trzeci wymiar
- 18. Multiply numpy ndarray z tablicą 1d wzdłuż danej osi
- 19. Odcinanie 3d numpy tablicy zwraca dziwny kształt
- 20. Python tworzy mniejszą pod-tablicę z większej tablicy 2D NumPy?
- 21. Jak przeanalizować tablicę numpy?
- 22. carving 2D numpy array według indeksu
- 23. Projekcja - Przekształcanie 3D na 2d
- 24. Tworzenie wykresu 3D z tablicy 3D numpy
- 25. Ruch z 2D do 3D
- 26. Numpy meshgrid w 3D
- 27. 3D do 2d matrycy projekcyjnej
- 28. Ocena macierzy homografii 2D-3D
- 29. Skutecznie sumuje małą tablicę numpy, transmitowaną przez gigantyczną tablicę numpy?
- 30. Wycinanie tablicy numpy z inną tablicą
Na marginesie, "numpy.newaxis" jest po prostu "Brak". 'newaxis' jest" tylko "dla czytelności. Jest to równoważne po prostu 'b = a [..., None]' (elipsa pozwala również na pracę dla macierzy N-wymiarowych, nie tylko na tablicach 2D.) –
Prawda. Z jakiegoś powodu odniosłem wrażenie, że "newaxis" oznaczające "Brak" było jedynie szczegółem implementacji (i dlatego może podlegać zmianom w przyszłości), ale wygląda na to, że zostało to wyraźnie udokumentowane. –
Załóżmy, że chcesz, aby trzecia oś była czymś innym niż 1? na przykład jak przekonwertować 'a' na' b' z 'b.shape = (6,8,3)'? – Gathide