2017-08-16 76 views
-2

假设有对应于训练样本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:每个标签具有相同数量的样本。我想将它们等效地拆分成文件夹。每个文件夹每个标签只有一个样本。

+1

'y [:: 2]'和'y [1 :: 2]'? – Divakar

+1

你是什么意思的“文件夹?” –

+0

非常感谢。 – Mozzie

回答

1

以下解决方案是5倍高效切片解决方案。所以,为了完整起见,我在此添加它。

a, b = y.reshape(y.shape[0]//2, 2).T 
print(a) 
#array([0, 1, 2]) 
print(b) 
#array([0, 1, 2])