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

问题描述 投票:1回答:2

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

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

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

我也尝试过:

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

只返回一个元素,是否可以使用此函数返回3

python arrays random
2个回答
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]

2
投票

您可以使用random.choices代替:

result = random.choices(dataset[:,0], k=3)
© www.soinside.com 2019 - 2024. All rights reserved.