在numpy中,可以使用切片语法中的'newaxis‘对象来创建长度为1的轴,例如:
import numpy as np
print np.zeros((3,5))[:,np.newaxis,:].shape
# shape will be (3,1,5)
也可以使用None
代替newaxis
的documentation states,效果完全相同。
有任何理由选择一个而不是另一个吗?有什么通用的偏好或风格指南吗?我的印象是newaxis
更受欢迎,可能是因为它更明确。那么,为什么允许使用None
呢?
发布于 2009-06-03 15:05:52
允许使用None
,因为numpy.newaxis
仅仅是None
的别名。
In [1]: import numpy
In [2]: numpy.newaxis is None
Out[2]: True
作者选择它可能是因为他们需要一个方便的常量,而None
是可用的。
至于为什么您应该更喜欢newaxis
而不是None
:主要是因为它更明确,部分原因是有一天numpy
的作者可能会把它改成None
以外的其他东西。(他们不打算这样做,可能也不会这样做,但没有充分的理由更喜欢None
。)
https://stackoverflow.com/questions/944863
复制相似问题