代码之家  ›  专栏  ›  技术社区  ›  Aizzaac

如何复制未从数组中随机抽样的值?

  •  2
  • Aizzaac  · 技术社区  · 5 年前

    我有一个由9个元素组成的数组。 我随机抽取4个元素,每个元素重复3次。

    但我还想重复两次(在其他数组中)未采样的数字。

    例如:

    是=[0,0,0,4,4,4,1,1,1,8,8,8]

    我需要:

    noes=[1,1,2,2,3,3,5,5,6,6,7,7,9,9]

    我该怎么做?

    allStims = [0, 1, 2, 3, 4, 5, 6, 7, 8]
    
    ##Pick randomly 4 numbers and repeat each 3 times
    yeses = np.repeat(random.sample(allStims, 4),3)
    print(yeses)
    
    1 回复  |  直到 5 年前
        1
  •  2
  •   Bill the Lizard Hacknightly    5 年前

    您可以使用列表理解来获取原始列表中不包含的所有值 yeses .

    nos = np.repeat([x for x in allStims if x not in yeses], 2)