2013-06-08 40 views
8

Sự khác biệt giữa mảng có nhiều mảng (cho phép nói X) có hình dạng (N, 1) và (N,). Không phải cả hai ma trận Nx1? Lý do tôi hỏi là bởi vì đôi khi tính toán trả về một hoặc khác.mảng numpy là (n, 1) và (n,)

+0

Bạn có thể cho tôi một số ví dụ không? – satoru

Trả lời

9

Đây là một mảng 1D:

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

mảng Đây là một 2D nhưng chỉ có một phần tử trong không gian đầu tiên:

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

transposing cung cấp cho các hình dạng bạn đang yêu cầu:

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

Bây giờ, hãy xem mảng. Chỉ cột đầu tiên của mảng 2D này mới được lấp đầy.

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

Với hai mảng này:

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

Bạn có thể tận dụng lợi thế của phát thanh truyền hình:.

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

Các con số mất tích được lấp đầy trong suy nghĩ cho các hàng và cột trong bảng hoặc bảng tính.

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

Làm điều này với kích thước cao hơn sẽ trở nên khó khăn hơn trong trí tưởng tượng của bạn.

Các vấn đề liên quan