numpy 改变ndarray维数的一些操作

np.expand_dims(a, axis)--扩展array的形状,在指定的axis维度插入新的一维,输入a是array

例子:

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

numpy.squeeze(a, axis=None)--移除array中维数为1的维度,axis可以指定移除维数为1的某个维度,返回移除这些维度之后的array

实例:

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

所以squeeze和expand_dims一对互逆的操作

上一篇:pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法


下一篇:数据库表空间收缩之pg_squeeze,pg_repack