python - metodo - Rebanada de matriz NumPy usando None
que es un array en python (1)
Esto me hizo rascarme la cabeza por un tiempo. Inintencionalmente estaba cortando una matriz con None y obteniendo algo más que un error (esperaba un error). En cambio, devuelve una matriz con una dimensión extra.
>>> import numpy
>>> a = numpy.arange(4).reshape(2,2)
>>> a
array([[0, 1],
[2, 3]])
>>> a[None]
array([[[0, 1],
[2, 3]]])
¿Es este comportamiento intencional o un efecto secundario? Si es intencional, ¿hay alguna razón para ello?
Usar None es equivalente a usar numpy.newaxis
, entonces sí, es intencional. De hecho, son lo mismo, pero, por supuesto, newaxis
lo explica mejor.