我有一个M维np.ndarray
,其中M <= N
。超过此条件,数组可能具有任何形状。我想把这个数组转换成N维数组,保持0到M的维数不变,M到N的维数设置为1。在
我几乎可以通过使用np.array
复制数组并提供ndmin
参数来完成此行为。但是,这会将额外的轴放置到“第一个”位置而不是“最后一个”位置:
>>> a3d = np.zeros((2,3,4))
>>> a5d = np.array(a3d, ndmin = 5)
>>> a5d.shape
(1, 1, 2, 3, 4) #actual shape
(2, 3, 4, 1, 1) #desired shape
有没有一种方法可以指定添加的维度应该放在哪里?这里有没有一个可以替代的函数,可以产生我想要的输出?在
显然,在上面的例子中,我可以在操作数组之后按照我想要的顺序放置轴,但是由于原始数组可能有0到5维(我想保持原始尺寸的原始顺序),所以我想不出一种方法,如果不对原始形状进行一系列繁琐的检查。在
我会用
.reshape
。。。在如果您想填充到某个维度:
^{pr2}$刚准备好
因为阵列的物理大小相同
相关问题 更多 >
编程相关推荐