Pregunta

Esto me hizo rascarme la cabeza por un tiempo. Sin querer, estaba cortando una matriz con Ninguno y obteniendo algo más que un error (esperaba un error). En su lugar, devuelve una matriz con una dimensión adicional.

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

¿Este comportamiento es intencional o es un efecto secundario? Si es intencional, ¿hay alguna razón para ello?

¿Fue útil?

Solución

Usar Ninguno es equivalente a usar numpy.newaxis , así que sí, es intencional. De hecho, son lo mismo, pero, por supuesto, newaxis lo explica mejor.

The docs :

  

El objeto newaxis se puede usar en todas las operaciones de corte para crear un eje de longitud uno. newaxis es un alias para "Ninguno", y "Ninguno" se puede usar en lugar de esto con el mismo resultado.

Una pregunta SO relacionada .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top