【发布时间】:2018-05-11 00:11:06
【问题描述】:
我有三个向量(numpy 数组),vector_1, vector_2, vector_3
如下:
维度(vector1)=(200,2048)
维度(vector2)=(200,8192)
维度(vector3)=(200,32768)
我想附加这些向量以获得vector_4:
维度(vector4)= (200,2048+8192+32768)= (200, 43008)
分别添加vector1然后vector2然后vector3
我尝试以下方法:
vector4=numpy.concatenate((vector1,vector2,vector3),axis=0)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
和
vector4=numpy.append(vector4,[vector1,vector2,vectors3],axis=0)
TypeError: append() missing 1 required positional argument: 'values'
【问题讨论】:
-
要连接,数组必须具有相同的列数。您的数组具有相同的行数。一种选择是用
np.nan值填充缺失的列,这样您就可以得到具有相同形状的数组,并且可以使用concatenate。 -
更改为
axis=1。 -
@alec_djinn 不,
np.concatenate可以沿任何轴连接。 -
@juanpa.arrivillaga,是的,你是对的,我没有说清楚,我以为他想在
axis=0上做这件事(因为他在代码中指定了它)同时有不同的形状。
标签: python arrays numpy append