从python中的数组中选择3个随机元素

时间:2019-03-06 21:07:37

标签: python arrays random

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

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

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

我也尝试过:

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

仅返回一个元素,是否可以通过此函数返回3

2 个答案:

答案 0 :(得分:5)

如果要采样而不替换,则可以使用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]

如果要替换样品,可以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]

答案 1 :(得分:2)

您可以改用random.choices

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