Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

randomly selecting items from an array python [duplicate]

Tags:

python

numpy

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

I have two arrays pool_list_X , pool_list_Y. Both have a numpy array as element in the list. So basically

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

and every element of pool_list_x has corresponding element in pool_list_y

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

Now. if I have to randomly select 10 elements from list_x (and hence the corresponding elements to list_y). how do i do this. I can think of a very naive way.. randomly generate numbers. and stuff.. but that is not very efficient.. what is the pythonic way to do this. Thanks

like image 311
frazman Avatar asked Mar 27 '12 17:03

frazman


2 Answers

There is a function allowing you to get the random element of the given sequence:

import random
my_choice = random.choice(my_sequence)

For details see the documentation.

like image 58
Tadeck Avatar answered Sep 29 '22 13:09

Tadeck


Not sure if I understand you one hundred percent, but I think using zip and random.sample might work:

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

Some short explanations:

  • zip will create a list of pairs, i.e. it ensures that you pick corresponding elements - if you pick one, you automatically get the other (Zip([1,2,3],[4,5,6]) = [(1,4),(2,5),(3,6)])
  • random.sample(l,n) randomly selects n elements from a list l
like image 33
phimuemue Avatar answered Sep 29 '22 14:09

phimuemue