python – Numpy:我应该使用newaxis还是无?

在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是允许的?

无允许,因为numpy.newaxis只是None的别名。

In [1]: import numpy

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

作者可能选择它,因为他们需要一个方便的常数,并且没有可用的。

至于为什么你应该更喜欢newaxis超过None:主要是因为它更明确,部分是因为有一天numpy作者可能会改变为非None。 (他们不打算,也可能不会,但没有好的理由喜欢无。)

http://stackoverflow.com/questions/944863/numpy-should-i-use-newaxis-or-none

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – Numpy:我应该使用newaxis还是无?