在4D到3D中重塑和连接数组

时间:2018-04-19 18:44:58

标签: python-3.x numpy

我在numpy中使用4D阵列。我想在第四维中附加数据如下:

1) 输入:

data_1_1=dim(2,4,130,10)
data_1_2=dim(2,4,130,10)

预期产出:

data_1=dim(2,4,130,20)

2)将4D阵列缩小为3D阵列 输入:

data_2_1=dim(3,5,130,20)

预期产出:

data_2_1=dim(15,130,20)

抱歉我的新手问题。

感谢您的帮助

我尝试了什么? 1)

data_1= np.concatenate((data_1_1[...,np.newaxis],data_1_2[...,np.newaxis]),axis=2)

我想知道这个解决方案是否做得对。因为我想在最后一个维度上连接。它以什么顺序完成? 是对的吗?

2)对于这种情况,我不知道

1 个答案:

答案 0 :(得分:2)

对于第一部分,您需要说明您希望使用特定的轴:

>>>x=np.arange(2*4*130*10).reshape(2,4,130,10)
>>>np.concatenate((x,x),axis=3).shape
(2, 4, 130, 20)

对于第二部分,听起来像是你想要一个reshape

>>>y=np.arange(3*5*130*20).reshape(3,5,130,20)
>>> y.reshape(15,130,20).shape
(15, 130, 20)

您需要熟悉的numpy术语是轴和形状 - 对这些术语的良好阅读将对您有所帮助。