【问题标题】:Selecting 3 random elements from an array in python从python中的数组中选择3个随机元素
【发布时间】:2019-07-28 15:39:33
【问题描述】:

我正在尝试从一个数组中选择三个随机元素。 我目前已经实现:

result= np.random.uniform(np.min(dataset[:,1]), np.max(dataset[:,1]), size=3

返回最小和最大范围之间的三个随机浮点数。我正在努力寻找一种方法来选择数组中的随机元素,而不是随机浮点数,它可能不作为数组中的元素存在。

我也试过了:

result = random.choice(dataset[:,0])

只返回一个元素,用这个函数能不能返回3

【问题讨论】:

  • 你也可以使用np.random.sample(,它有一个参数replace来表示是否有替换

标签: python arrays random


【解决方案1】:

你可以使用random.sample(),如果你想在不替换的情况下进行采样,即。同一个元素不能被选中两次。

>>> import random
>>> l = [0.3, 0.2, 0.1, 0.4, 0.5, 0.6]
>>> random.sample(l, 3)
[0.3, 0.5, 0.1]

如果你想用replacement采样,可以random.choices()

>>> import random
>>> l = [0.3, 0.2, 0.1, 0.4, 0.5, 0.6]
>>> random.choices(l, k=3)
[0.3, 0.5, 0.3]

【讨论】:

    【解决方案2】:

    您可以改用random.choices

    result = random.choices(dataset[:,0], k=3)
    

    【讨论】:

      猜你喜欢
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多