2009-09-10 44 views
21

這讓我撓了一陣頭腦。我無意間用None分割數組,並獲得了除錯誤之外的其他內容(我預計會發生錯誤)。相反,它會返回一個具有額外維度的數組。NumPy數組切片使用無

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

這種行爲是故意的還是副作用?如果是故意的,是否有一些理由呢?

回答

28

使用無等價於使用numpy.newaxis,所以是的,這是故意的。事實上,他們是一樣的,但是,當然,newaxis更好地說明了這一點。

The docs

A related SO question