Pergunta

Em um numpy pode usar objeto dos newaxis 'na sintaxe corte para criar um eixo de um comprimento, por exemplo:.

import numpy as np
print np.zeros((3,5))[:,np.newaxis,:].shape
# shape will be (3,1,5)

O estados documentação que se pode também uso None vez de newaxis, o efeito é exatamente o mesmo.

Existe alguma razão para escolher um sobre o outro? Existe alguma preferência ou estilo guia geral? Minha impressão é que newaxis é mais popular, provavelmente porque é mais explícito. Então, há alguma razão para que None é permitido?

Foi útil?

Solução

None é permitido porque numpy.newaxis é apenas um alias para None.

In [1]: import numpy

In [2]: numpy.newaxis is None
Out[2]: True

Os autores provavelmente escolheu porque eles precisavam de um constante conveniente, e None estava disponível.

Quanto ao porquê você deve preferir newaxis sobre None: principalmente é porque é mais explícita, e em parte porque um dia os autores numpy pode alterá-lo para algo diferente de None. (Eles não estão planejando, e provavelmente não vai, mas não há nenhuma boa razão para preferir None.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top