我想连接4个数组,形状(78427,)的一个1D数组和形状(78427,375/81/103)的三维数组。基本上这是4个具有78427图像特征的阵列,其中1D阵列对每个图像只有1个值。Numpy连接二维数组与一维数组
我试图串联阵列如下:
>>> print X_Cscores.shape
(78427, 375)
>>> print X_Mscores.shape
(78427, 81)
>>> print X_Tscores.shape
(78427, 103)
>>> print X_Yscores.shape
(78427,)
>>> np.concatenate((X_Cscores, X_Mscores, X_Tscores, X_Yscores), axis=1)
这将导致以下错误:
Traceback (most recent call last): File "", line 1, in ValueError: all the input arrays must have same number of dimensions
这个问题似乎是一维数组,但我真的不能明白为什么(它也有78427个值)。我试图在连接它之前对1D数组进行转置,但那也不起作用。
任何帮助什么是正确的方法来连接这些数组将不胜感激!
只需指出'A [:,np.newaxis]'具有与'A [:,无]'相同的行为,有时可以更直观(实际上'np.newaxis == None')。 –
但是,只有两者具有相同的尺寸时才是如此。在大多数情况下,我最终得到具有形状(8400,)的阵列A和具有形状(8399,21)的阵列B. 如何截断/删除A的最后几行,使A和B具有相同的形状,如(8399,)和(8399,21)。请指教。 –