在numpy中,可以在切片语法中使用'newaxis'对象来创建长度为1的轴,例如:
import numpy as np
print np.zeros((3,5))[:,np.newaxis,:].shape
# shape will be (3,1,5)
Run Code Online (Sandbox Code Playgroud)
该文件指出一个也可以用None
代替newaxis
,效果是完全一样的.
有没有理由选择一个而不是另一个?是否有任何一般偏好或风格指南?我的印象是newaxis
更受欢迎,可能是因为它更明确.那么有什么理由None
被允许吗?
AFo*_*lia 93
None
是允许的,因为numpy.newaxis
它只是一个别名None
.
In [1]: import numpy
In [2]: numpy.newaxis is None
Out[2]: True
Run Code Online (Sandbox Code Playgroud)
作者可能选择了它,因为它们需要一个方便的常数,并且None
可用.
至于为什么你应该更喜欢newaxis
过None
:主要是因为它更明确,部分是因为某一天的numpy
作者可能将其更改为比其他的东西None
.(他们不打算,也可能不会,但没有充分的理由可以选择None
.)