[SciPy-User] Picking a random element of an array with conditions
Keith Goodman
kwgoodman at gmail.com
Fri Jun 11 14:16:26 EDT 2010
On Fri, Jun 11, 2010 at 11:12 AM, R. Padraic Springuel
<R.Springuel at umit.maine.edu> wrote:
> I'd like to pick the random element of an array from those elements
> which meet a certain condition. I.e. pick an element of a for which a
> == value is True.
>
> Without the condition, I'd phrase the command like this:
> a[random.randint(len(a))]
>
> Is there some similar thing that I can do to pick with the condition in
> an efficient manner? So far all I've come up with involves looping over
> the array to construct an array of indecies so that I can write:
> a[indecies[random.randint(len(indecies))]]
How about:
>> a = np.random.rand(10)
>> idx = a > 0.5
>> a[idx[np.random.randint(10)]]
0.58803647603961251
More information about the SciPy-User
mailing list