numpy.expand_dims#

numpy.expand_dims(a, axis)[source]#

扩展数组的形状。

插入一个新的轴,该轴将出现在扩展后的数组形状的 axis 位置。

参数:
aarray_like

输入数组。

axisint 或 int 元组

扩展轴中新轴(或轴)所在的位置。

自版本 1.13.0 起已弃用: 传递 axis > a.ndim 的轴将被视为 axis == a.ndim,传递 axis < -a.ndim - 1 将被视为 axis == 0。此行为已弃用。

版本 1.18.0 中的变更: 现在支持轴的元组。现在禁止上述超出范围的轴,并引发 AxisError

返回值:
resultndarray

维度增加的 a 的视图。

另请参阅

squeeze

逆运算,移除单一维度

reshape

插入、移除和组合维度,以及调整现有维度的大小

atleast_1datleast_2datleast_3d

示例

>>> import numpy as np
>>> x = np.array([1, 2])
>>> x.shape
(2,)

以下等效于 x[np.newaxis, :]x[np.newaxis]

>>> y = np.expand_dims(x, axis=0)
>>> y
array([[1, 2]])
>>> y.shape
(1, 2)

以下等效于 x[:, np.newaxis]

>>> y = np.expand_dims(x, axis=1)
>>> y
array([[1],
       [2]])
>>> y.shape
(2, 1)

axis 也可以是元组

>>> y = np.expand_dims(x, axis=(0, 1))
>>> y
array([[[1, 2]]])
>>> y = np.expand_dims(x, axis=(2, 0))
>>> y
array([[[1],
        [2]]])

请注意,某些示例可能会使用 None 而不是 np.newaxis。这些是相同的对象

>>> np.newaxis is None
True