Question

Cela m'a fait me gratter la tête pendant un moment. Je découpais involontairement un tableau avec None et obtenais autre chose qu'une erreur (je m'attendais à une erreur). Au lieu de cela, il retourne un tableau avec une dimension supplémentaire.

>>> 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 at-il un effet secondaire? Si cela est intentionnel, y a-t-il une raison à cela?

Était-ce utile?

La solution

Utiliser Aucun équivaut à utiliser numpy.newaxis , donc oui, c'est intentionnel. En fait, c’est la même chose, mais, bien sûr, newaxis le dit mieux.

Les documents :

  

L'objet newaxis peut être utilisé dans toutes les opérations de découpage pour créer un axe de longueur un. newaxis est un alias pour "None" et "None" peut être utilisé à la place avec le même résultat.

Une question SO connexe .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top