删除多维数组的维度

时间:2015-10-20 13:42:40

标签: python numpy

我有一个形状数组

(512, 240, 1, 3, 3)

如何获得最后一个维度的红色。应该使用

np.delete

但无法弄清楚究竟如何。所有的例子都在2D ......

我想我错误地表达了这个问题。我寻找的是

A = A[:,:,:,0]

抱歉

2 个答案:

答案 0 :(得分:2)

我相信(512, 240, 1, 3, 3)是一个元组(您正在使用的数据),而不是数组的形状。要使用3删除最后一个维度(在您的案例中为numpy.delete),您可以执行以下操作:

>>> import numpy as np
>>> a=np.array((512, 240, 1, 3, 3))
>>> a=np.delete(a,4)
>>> a
array([512, 240,   1,   3])

请记住,numpy.delete会返回新数组,原始数组会保持不变。这就是我做a=np.delete(...)的原因。

答案 1 :(得分:1)

我不确定删除最后一个维度的含义,但如果要合并最后两个维度,可以使用np.reshape(yourArray, (512, 240, 1, 3*3))