拆分numpy的阵列有效地
问题描述:
假设有对应于训练样本X拆分numpy的阵列有效地
>>> y
array([0, 0, 1, 1, 2, 2])
如果我使用numpy.array_split直接变得
>>> np.array_split(y,2)
[array([0, 0, 1]), array([1, 2, 2])]
如何可以拆分Y和X成标签向量y 2个文件夹。因此y变成
>>> y1
array([0, 1, 2])
>>> y2
array([0, 1, 2])
PS:每个标签具有相同数量的样本。我想将它们等效地拆分成文件夹。每个文件夹每个标签只有一个样本。
答
以下解决方案是5倍少高效切片解决方案。所以,为了完整起见,我在此添加它。
a, b = y.reshape(y.shape[0]//2, 2).T
print(a)
#array([0, 1, 2])
print(b)
#array([0, 1, 2])
'y [:: 2]'和'y [1 :: 2]'? – Divakar
你是什么意思的“文件夹?” –
非常感谢。 – Mozzie