2013-06-08 21 views
8

(N, 1) ve (N,) şeklindeki bir numpy dizisi (X demek) arasındaki fark nedir. İkisi de Nx1 matrisleri değil mi? Sormamın nedeni, bazen hesaplamalar bazen birini ya da diğerini döndürmesidir.numpy dizisi (n, 1) ve (n,)

+0

Bana bir örnek verebilir misiniz? – satoru

cevap

9

Bu 1D dizidir:

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

Bu dizi 2D ama ilk boyutta tek unsur vardır:

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

Aktarılması için soruyorsunuz şeklini verir:

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

Şimdi diziye bakın. Bu 2D dizinin sadece ilk sütunu doldurulur.

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

Verilen bu iki diziler: Sen yayın yararlanabilirsiniz

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

. Eksik sayılar doldurulur

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

tablo veya elektronik tablodaki satır ve sütunlar için düşünün.

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

Bunu daha yüksek boyutlarla yapmak, hayal gücünüzde zorlaşır.