关于numpy:从数组python中随机选择项

randomly selecting items from an array python

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How do I randomly select an item from a list using Python?

我有两个数组pool_list_x,pool_list_y,它们都有一个numpy数组作为元素。所以基本上

1
pool_list_x[0] = [1 2 3 4] # a multidimensional numpy array.

池列表中的每个元素在池列表中都有相应的元素

1
which is to say, that pool_list_x[i] corresponds to pool_list_y[i]

现在。如果我必须从列表中随机选择10个元素(因此相应的元素也要列出)。我该怎么做呢?我能想到一个非常天真的方法……随机生成数字。还有东西…但这不是很有效。做这个的方法是什么?谢谢


不确定我是否完全理解你,但我认为使用ziprandom.sample可能会奏效:

1
2
import random
random.sample(zip(list_a,list_b), 10)

一些简短的解释:

  • zip将创建一个对列表,即它确保您选择相应的元素-如果您选择一个,您将自动获得另一个(Zip([1,2,3],[4,5,6]) = [(1,4),(2,5),(3,6)])
  • random.sample(l,n)从清单l中随机选择n个元素。


有一个函数允许您获取给定序列的随机元素:

1
2
import random
my_choice = random.choice(my_sequence)

有关详细信息,请参阅文档。