这是我的错误的一个例子。说我创建了一个numpy的阵列
X = np.zeros((1000, 50))
其中1000是特征(行)和50是实施例中(列)
由于我加入实施例逐一我将具有由1替换阵列1中的列,得到最终特征量阵列。我尝试过:
X[:,i] = example
,其中的例子是大小(1000,1)的,和i
迭代针对每个例子。这个不起作用,因为X [:,i]为形状(1000)的,秩1阵列。我怎么代码它使每个例如取代X阵列的行不抛出广播错误。谢谢。
答案 0 :(得分:1)
在分配矢量之前,先对其进行重塑。
X[:,i] = example.reshape(-1,)
这将抑制第二维并将example
变成形状(1000,)
或者,避免在循环中一一分配,您可以将所有数组放在列表中,然后在列表上调用np.array
并将其转置为列。如果您可以在列表理解中构造数组列表,则可能会更好。
示例:
arrs = [np.random.randint(10, size=5) for _ in range(5)]
X = np.array(arrs).T