在 numpy 中,可以使用切片语法中的 'newaxis' 对象来创建长度为 1 的轴,例如:
import numpy as np
print np.zeros((3,5))[:,np.newaxis,:].shape
# shape will be (3,1,5)
documentation states那也可以用None
代替newaxis
,效果一模一样。
有什么理由选择其中一个吗?是否有任何一般偏好或风格指南?我的印象是 newaxis
更受欢迎,可能是因为它更明确。那么为什么允许 None
有什么原因吗?
最佳答案
None
是允许的,因为 numpy.newaxis
只是 None
的别名。
In [1]: import numpy
In [2]: numpy.newaxis is None
Out[2]: True
作者可能选择它是因为他们需要一个方便的常量,并且 None
可用。
至于为什么你应该更喜欢 newaxis
而不是 None
:主要是因为它更明确,部分是因为有一天 numpy
的作者可能会改变除了 None
之外的其他内容。 (他们不打算,也可能不会,但没有充分的理由更喜欢 None
。)
关于python - Numpy:我应该使用 newaxis 还是 None?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/944863/