python - Numpy:我应该使用 newaxis 还是 None?

标签 python numpy

在 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/

相关文章:

Python:从 NxM 正态分布中抽取的 NxM 样本数组

python - 具有公差的 NumPy setdiff1d - 将一个 numpy 数组与另一个数组进行比较并仅保存唯一值 - 在公差范围之外

python - cifar10 随机化训练和测试集

python - 以优化的方式查找 Pandas 列中连续增加/减少值的数量(并用它填充另一个列)

python - 不断缩放 3 个圆直到它们相交

python - Django 用户在现场激活应用程序

numpy - 将 Numpy 数组复制到内存 View

python - 显示 3d ndarray 中的切片

python - 达到内存限制时退出 Python 程序

Python tkinter 8.5 - 如何将焦点从主窗口更改为弹出窗口?