从满足特定条件的项目中从numpy数组中部分随机选择项目

时间:2017-11-04 10:47:08

标签: python arrays numpy random

我有一个bool数组是根据double数组创建的:

array1 = ... # the double array initialization
array2 = array1 < threshold # threshold is set somewhere else

假设我的第二个数组的输出是这样的:

# array2 = [True, False, True, True, True, False]

我想选择True项目的百分比。例如,如果我想随机选择True项目的75%,则输出将是以下任何一项:

# array3 = [True, False, True, True, False, False]
# array3 = [False, False, True, True, True, False]
# array3 = [True, False, False, True, True, False]

第三个数组包含在第二个数组中找到的4个True项中的3个。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

所以,这实际上只是

的工作
  1. 获取向量中string groupBoxName = "Line1"; groupBoxName.buttonName.BackgroundImage = CircleColours[i]; 的所有索引 - &gt; True
  2. shuffle true_indices
  3. true_indices
  4. true_indices = true_indices[0:len(true_indices)*3/4
  5. array3 = [False]*len(array2)
  6. 完成。所有这些“我需要从一组中随机选择一个固定的数量”通常可以很好地转换成一种改组方法。

    Numpy附带array3[true_indices] = True功能。