2009-09-10 7 views
21

Cela m'a fait me gratter la tête pendant un moment. J'ai involontairement trancher un tableau avec None et obtenir quelque chose d'autre qu'une erreur (je m'attendais à une erreur). Au lieu de cela, il retourne un tableau avec une dimension supplémentaire.NumPy réseau tranche en utilisant Aucun

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

Ce comportement est-il intentionnel ou un effet secondaire? Si intentionnel, y a-t-il une justification?

Répondre

28

L'utilisation de None équivaut à utiliser numpy.newaxis, donc oui, c'est intentionnel. En fait, ils sont la même chose, mais, bien sûr, newaxis l'énonce mieux.

The docs

A related SO question.

Questions connexes