NumPy Tutorial NumPy Statistics NumPy References

NumPy - random.choice() function



The NumPy random.choice() function generates a random sample from a given 1-D array and returns it.

Syntax

numpy.random.choice(a, size=None, replace=True, p=None)

Parameters

a Required. Specify an ndarray, a random sample is generated from its elements. If an int, the random sample is generated as if a were np.arange(a).
size Optional. Specify output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn. Default is None, in which case a single value is returned.
replace Optional. A boolean to specify whether the sample is with or without replacement.
p Optional. Specify probabilities associated with each entry in a. If not given the sample assumes a uniform distribution over all entries in a.

Return Value

Returns the generated random samples.

Example:

In the example below, random.choice() function is used to generate random samples drawn from given list.

import numpy as np

MyList = [10, 20, 30, 40, 50, 60, 70, 80]
x = np.random.choice(MyList, (3,3))

#printing x
print(x)

The output of the above code will be:

[[60 80 60]
 [70 10 60]
 [50 20 60]]

Example:

The replace parameter can be used to draw sample with replacement as shown in the example below.

import numpy as np

MyList = [10, 20, 30, 40, 50, 60, 70, 80]
x = np.random.choice(MyList, (3,3), True)

#printing x
print(x)

The output of the above code will be:

[[20 30 40]
 [40 30 80]
 [80 40 50]]

Example:

Using p parameter, we can assign probability with each entry of the input array or sequence.

import numpy as np

MyList = [10, 20, 30, 40, 50, 60]
prob = [0.5, 0.1, 0.1, 0.1 , 0.1, 0.1]
x = np.random.choice(MyList, (3,3), True, prob)

#printing x
print(x)

The output of the above code will be:

[[10 10 50]
 [10 10 60]
 [60 10 10]]

❮ NumPy - Random