【问题标题】:Split numpy array efficiently有效地拆分numpy数组
【发布时间】:2017-08-16 17:35:59
【问题描述】:

假设有一个标签向量y对应训练样本X

>>> 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 拆分为 2 个文件夹。这样 y 就变成了

>>> y1
array([0, 1, 2])
>>> y2
    array([0, 1, 2])

PS:每个标签都有相同数量的样本。我想将它们等效地拆分为文件夹。每个文件夹的每个标签只有一个样本。

【问题讨论】:

  • y[::2]y[1::2]?
  • “文件夹”是什么意思?
  • 如果每个样本总是有两个,只需使用np.unique(y)。否则,您需要澄清您希望它们如何拆分。

标签: python numpy machine-learning


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-03-02
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多