Множество массивов NumPy с использованием None
Это заставило меня немного почесывать голову. Я непреднамеренно нарезал массив с None и получал что-то другое, кроме ошибки (я ожидал ошибку). Вместо этого он возвращает массив с дополнительным размером.
>>> import numpy
>>> a = numpy.arange(4).reshape(2,2)
>>> a
array([[0, 1],
[2, 3]])
>>> a[None]
array([[[0, 1],
[2, 3]]])
Является ли это поведение преднамеренным или побочным эффектом? Если преднамеренно, есть ли какое-то обоснование для этого?
Ответы
Ответ 1
Использование None эквивалентно использованию numpy.newaxis
, так что да, это намеренно. На самом деле, это одно и то же, но, конечно же, newaxis
это лучше.
Документы:
Объект newaxis может использоваться во всех операциях нарезки для создания оси длины один. newaxis - это псевдоним "None", и "None" может использоваться вместо этого с тем же результатом.
Схожий вопрос ТАК.