Python 洗牌并将NumPy数组划分为不相等的部分

Python 洗牌并将NumPy数组划分为不相等的部分,python,arrays,numpy,split,Python,Arrays,Numpy,Split,我有一个2D numpy数组中的数据。我想把它的行分成三个子集,大小分别为60%,20%,20%。我尝试使用numpy.split函数,但它只创建大小相同的子数组。我还在sklearn库中尝试了KFold方法,但它不允许我指定子集大小。而sklearn的shuffle split只允许分成两个子集。我知道我可以使用shufflesplit将数据分割两次,以创建三个子集,但我想知道是否有更好的方法。您可以使用np.random.shuffle,然后分配切片 x = ... np.random.sh

我有一个2D numpy数组中的数据。我想把它的行分成三个子集,大小分别为60%,20%,20%。我尝试使用numpy.split函数,但它只创建大小相同的子数组。我还在sklearn库中尝试了KFold方法,但它不允许我指定子集大小。而sklearn的shuffle split只允许分成两个子集。我知道我可以使用shufflesplit将数据分割两次,以创建三个子集,但我想知道是否有更好的方法。您可以使用
np.random.shuffle
,然后分配切片

x = ...
np.random.shuffle(x)
l = x.shape[0]
A, B, C = x[: int(l * .6)], x[int(l * .6) : int(l * .8)], x[int(l * .8):] 

您可以使用
np.random.shuffle
然后分配片

x = ...
np.random.shuffle(x)
l = x.shape[0]
A, B, C = x[: int(l * .6)], x[int(l * .6) : int(l * .8)], x[int(l * .8):] 
  • 洗牌
  • 分成三部分

  • 洗牌
  • 分成三部分


  • 所需的拆分是随机的吗?@Baha是的,我希望它在拆分之前洗牌行,所需的拆分是随机的吗?@Baha是的,我希望它在拆分之前洗牌行,