Numpy:我应该使用newaxis还是None?
在numpy中,可以使用切片语法中的'newaxis'对象来创build长度为1的轴,例如:
import numpy as np print np.zeros((3,5))[:,np.newaxis,:].shape # shape will be (3,1,5)
该文档指出 ,也可以使用None
而不是newaxis
,效果完全相同。
有什么理由select一个吗? 有没有一般的偏好或风格指南? 我的印象是,新newaxis
更受欢迎,可能是因为它更明确。 那么为什么None
允许有任何理由?
因为numpy.newaxis
只是None
的别名,所以不允许使用。
In [1]: import numpy In [2]: numpy.newaxis is None Out[2]: True
作者可能select它,因为他们需要一个方便的常数, None
可用的。
至于为什么你更喜欢newaxis
不是None
:主要是因为它更明确,部分原因是有一天numpy
作者可能会把它改成None
以外的东西。 (他们不打算,也可能不会,但没有理由偏好None
)