1-е место в Google по запросу "numpy удалить размеры 1": numpy.squeeze - руководство по NumPy v1.16 :
In [3]: z=np.zeros((100,1,0,1,100))
In [5]: z.squeeze()
Out[5]: array([], shape=(100L, 0L, 100L), dtype=float64)
Как и предполагали другие, такого размера не существует, как None
в numpy
. Если вы попытаетесь создать numpy.array
с таким «размером измерения», вы получите (начиная с NumPy 1.16) None
, и будет напечатано DeprecationWarning
, отметив, что эта семантика скоро будет удалена.
И удаление измерения 0
невозможно, потому что это означает, что ваш массив пуст, и если он будет удален, результат больше не будет пустым, поэтому вам потребуется что-то для его заполнения.
В comment98113945 вы упомянули, что ваш размер "None
" является требованием некоторой функции. В этом контексте, я считаю, «None
» означает «любой размер».