Python 如何将numpy数组附加到不同大小的numpy数组?

Python 如何将numpy数组附加到不同大小的numpy数组?,python,arrays,numpy,machine-learning,Python,Arrays,Numpy,Machine Learning,我有两个数组要连接: X_火车的形状是307250000 火车的形状是50000 我想把它们串联起来,这样我就可以一次洗牌所有的索引。我尝试了以下方法,但均无效: np.concatenate([X_train, np.transpose(y_train)]) np.column_stack([X_train, np.transpose(y_train)]) 如何连接它们?正如戴维格所说,我意识到答案是y_train的形状为50000,所以我需要在连接之前对其进行重塑 np.concatena

我有两个数组要连接:

X_火车的形状是307250000 火车的形状是50000

我想把它们串联起来,这样我就可以一次洗牌所有的索引。我尝试了以下方法,但均无效:

np.concatenate([X_train, np.transpose(y_train)])
np.column_stack([X_train, np.transpose(y_train)])

如何连接它们?

正如戴维格所说,我意识到答案是y_train的形状为50000,所以我需要在连接之前对其进行重塑

np.concatenate([X_train,         
     np.reshape(y_train, (1, 50000))])

不过,在朱皮特,这一点的评估非常缓慢。如果有一个更快的答案,我将非常感激能给你一些针对任务的建议,而不是你的问题:不要这样做

假设X是您的样本/观察值,y是您的目标:

只需生成一个随机排列并创建视图—不复制或修改到这些视图中,例如未测试:

import numpy as np

X = np.random.random(size=(50000, 3072))
y = np.random.random(size=50000)

perm = np.random.permutation(X.shape[0])  # assuming X.shape[0] == y.shape[0]
X_perm = X[perm]  # views!!!
y_perm = y[perm]
提醒:开始形状与大多数基于python的ml工具不兼容,通常的解释是:

第一个尺寸/行:样本 第二个dim/cols:功能
由于样本需要与目标值y相同,您将看到我的示例在这方面是正确的,而您的示例需要X上的转置

连接到什么?你有输入维度,你想要什么输出维度?从ML的角度来看,我不认为这有什么意义,你能不能把你的火车改成150000辆?@DavidG是的,谢谢!顺便说一句,为什么我一开始就拿到50000?那是numpy阵列吗?好像是某种向量或列表,idk。我是numpy新手,可能会帮助解决两者之间的差异。在numpy中,1-d阵列与2-d或更高版本的阵列一样有用。