Python 如何将numpy数组附加到不同大小的numpy数组?
我有两个数组要连接: X_火车的形状是307250000 火车的形状是50000 我想把它们串联起来,这样我就可以一次洗牌所有的索引。我尝试了以下方法,但均无效: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
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或更高版本的阵列一样有用。