我正在尝试连接四个数组,其中一个形状为(78427,)的一维数组和三个形状为(78427, 375/81/103)的二维数组。基本上,这是78427张图像的4个特征数组,其中一维数组每张图像只有一个值。
我尝试按以下方式连接数组:
我尝试按以下方式连接数组:
>>> 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: 所有输入数组的维度必须相同
问题似乎出在1D数组上,但我实际上看不出原因(它也有78427个值)。我尝试在连接它之前转置该1D数组,但那也没有起作用。
如果您能提供关于正确连接这些数组的方法的任何帮助,将不胜感激!
A[:, np.newaxis]
和A[:, None]
的行为是相同的,有时前者更易于理解(实际上np.newaxis == None
)。 - Imanol Luengonp.newaxis
很直观,但我仍然不明白为什么A[:, None]
能够工作。有人能帮我理解一下吗? - deadcodenewaxis
是None
的别名",并且在索引中使用None
告诉NumPy添加一个维度。因此,1D数组被转换为具有轴0和1的2D数组。 - Falko