2009-09-10 35 views
21

Điều này khiến tôi gãi đầu một lúc. Tôi đã vô ý cắt một mảng với Không và nhận được một cái gì đó khác hơn là một lỗi (tôi mong đợi một lỗi). Thay vào đó, nó trả về một mảng với một chiều bổ sung.Mảng mảng NumPy sử dụng None

>>> import numpy 
>>> a = numpy.arange(4).reshape(2,2) 
>>> a 
array([[0, 1], 
     [2, 3]]) 
>>> a[None] 
array([[[0, 1], 
     [2, 3]]]) 

Hành vi này có chủ ý hoặc tác dụng phụ không? Nếu cố ý, có một số lý do cho nó?

Trả lời

28

Sử dụng Không có gì tương đương với việc sử dụng numpy.newaxis, vì vậy, có chủ ý. Thực tế, chúng giống nhau, nhưng, tất nhiên, newaxis đánh vần nó tốt hơn.

The docs

A related SO question.

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