Zastanawiam się, czy istnieje sposób na spłaszczenie tablicy wielowymiarowej (tj. Typu ndarray
) wzdłuż zadanych osi bez wykonywania kopii w NumPy. Na przykład mam tablicę obrazów 2D i chcę spłaszczyć każdą z nich do wektora. Jednym prostym sposobem na zrobienie tego jest numpy.array([im.flatten() for im in images])
, ale to powoduje utworzenie kopii każdego z nich.Jak spłaszczyć osie tablicy wielowymiarowej bez wykonywania kopii w NumPy?
10
A
Odpowiedz
12
ravel
go:
>>> 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]])
Or reshape
go:
>>> 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]]])
W większości przypadków te zwracają się widok na oryginalnej tablicy, zamiast kopii.
7
Jeśli nie wiesz kształt swojej tablicy wejściowej:
images.reshape((images.shape[0], -1))
-1
mówi zmienią się wypracować pozostałe wymiary. Zakłada się, że chcesz chcesz spłaszczyć pierwszą oś obrazów.
Powiązane problemy
- 1. numpy druga pochodna wielowymiarowej tablicy
- 2. Zapobieganie tworzeniu się wielowymiarowej tablicy numpy
- 3. Jak ustawić pojedynczy element wielowymiarowej tablicy Numpy Array za pomocą innej tablicy Numpy?
- 4. array_slice w tablicy wielowymiarowej?
- 5. array_push w wielowymiarowej tablicy
- 6. SetLength na tablicy wielowymiarowej
- 7. php coraz unikalne wartości z tablicy wielowymiarowej
- 8. PHP - rozbrojony w wielowymiarowej tablicy
- 9. Zdobądź klucz wielowymiarowej tablicy?
- 10. Konwersja klucz tablicy do tablicy wielowymiarowej
- 11. dane implozji z wielowymiarowej tablicy
- 12. C# Pobierz typ wielowymiarowej tablicy
- 13. PHP: Najczystszy sposób na modyfikację tablicy wielowymiarowej?
- 14. Sortowanie wielowymiarowej tablicy według łańcucha?
- 15. PHP foreach pętli tablicy wielowymiarowej
- 16. Jak listę tablic konwersji do tablicy wielowymiarowej
- 17. JavaScript: jak uzyskać wartości z tablicy wielowymiarowej?
- 18. Jak zwrócić najwyższą wartość z tablicy wielowymiarowej?
- 19. PHP znaleźć klucz tablicy tablicy wielowymiarowej do aktualizacji tablicy
- 20. Jak uzyskać wymiar (wycinek) z wielowymiarowej tablicy
- 21. wielowymiarowej tablicy do kontrolera MVC
- 22. WPF Wiązanie do tablicy wielowymiarowej w Xaml
- 23. usunąć element w tablicy wielowymiarowej i zapisać
- 24. min i max w wielowymiarowej-tablicy
- 25. C# Array slice bez kopii
- 26. Jak używać iteratora rekursywnej tablicy do przetwarzania wielowymiarowej tablicy?
- 27. plik INI do wielowymiarowej tablicy w PHP
- 28. Dodawanie do wielowymiarowej tablicy w PHP
- 29. odnaleźć duplikaty wartości w tablicy wielowymiarowej
- 30. PHP usunięcia pustych ciągów tablicy w wielowymiarowej tablicy
Dziękujemy! 'reshape' zrobił mi sztuczkę. Myślałem, że wcześniej złamie mapowanie jeden-do-jednego pomiędzy moimi 2D matrycami i wektorami. Ale nie, zadziałało! –