2009-09-10 43 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