Python - 如何向 numpy ndarray 添加另一个"column"



我有一个3400,018维的numpy数组,我有一一个3400,1数组,需要附加到末尾的第一个数组。

X_train.shape=(34189,18(

type(X_train)=numpy.ndarray

y_train.shape=(34189,(

我的尝试:

数据=np.append(X_train,y_train(现在它返回一个(649591,(np数组。

请帮忙吗?

此外,如何从numpy.ndarray中取出一列?也就是说,在我把它们放在一起并对数据进行排序之后,我该如何处理(34189,19(维数组,并将其转换为两个数组——(34189,28(和(34189:1(?(与我上面的问题相反(

谢谢

具有ndim == 1的数组隐含地是行,而不是列。最简单的方法是将其转换为一列并使用np.concatenate:

np.concatenate((X_train, Y_train[:, None]), axis=1)

你可以用np.append:做同样的事情

np.append(X_train, Y_train[:, None], axis=1)

Y_train转换为列的其他方式包括Y_train.reshape(-1, 1)np.atleast_2d(Y_train)

最新更新