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

use*_*803 1 python arrays random

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

result= np.random.uniform(np.min(dataset[:,1]), np.max(dataset[:,1]), size=3
Run Code Online (Sandbox Code Playgroud)

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

我也尝试过:

result = random.choice(dataset[:,0])
Run Code Online (Sandbox Code Playgroud)

仅返回单个元素,可以使用此函数返回3

小智 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]
Run Code Online (Sandbox Code Playgroud)

如果要替换样品,可以选择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]
Run Code Online (Sandbox Code Playgroud)