2013-06-08 11 views
8

Jaka jest różnica między tablicą numpy (powiedzmy X), która ma kształt (N, 1) i (N). Czy obie nie są matrycami Nx1? Powodem, dla którego pytam, jest to, że czasami obliczenia zwracają jedną lub drugą.Tablica numpy, która jest (n, 1) i (n,)

+0

Czy możesz podać mi przykłady? – satoru

Odpowiedz

9

To 1D tablicy:

>>> np.array([1, 2, 3]).shape 
(3,) 

Ta tablica jest 2D, ale jest tylko jeden element w pierwszym wymiarze:

>>> np.array([[1, 2, 3]]).shape 
(1, 3) 

transponujących daje kształt prosicie:

>>> np.array([[1, 2, 3]]).T.shape 
(3, 1) 

Teraz spójrz na tablicę. Tylko pierwsza kolumna tej tablicy 2D jest wypełniona.

>>> np.array([[1, 2, 3]]).T 
array([[1], 
     [2], 
     [3]]) 

Biorąc pod uwagę te dwie tablice:

>>> a = np.array([[1, 2, 3]]) 
>>> b = np.array([[1, 2, 3]]).T 
>>> a 
array([[1, 2, 3]]) 
>>> b 
array([[1], 
     [2], 
     [3]]) 

można skorzystać z nadawania.

>>> a * b 
array([[1, 2, 3], 
     [2, 4, 6], 
     [3, 6, 9]]) 

brakujące numery są wypełnione Pomyśl wierszy i kolumn w tabeli lub arkusza kalkulacyjnego.

>>> a + b 
array([[2, 3, 4], 
     [3, 4, 5], 
     [4, 5, 6]]) 

Wykonanie tego z wyższymi wymiarami staje się trudniejsze dla wyobraźni.

Powiązane problemy