How to Use the Numpy random.choice() Function in Python

Contents
In this article, you will learn how to use the Python Numpy random.choice() function.
Numpy random.choice() Function
The numpy.random.choice() function is a powerful tool in Python’s numpy library that allows you to randomly select elements from an array or list.
Syntax
The basic syntax of the numpy.random.choice() function is as follows:
numpy.random.choice(a, size=None, replace=True, p=None)
Parameters
The parameters of the function are:
a
: The input array or list from which the elements are to be randomly selected. It can be a 1-D or 2-D array, or a list.size
: An optional parameter that specifies the number of elements to be selected. If size is not specified, a single element is selected.replace
: An optional parameter that specifies whether to sample with or without replacement. If replace=True, the elements are sampled with replacement, otherwise without replacement.p
: An optional parameter that specifies the probability of each element in the input array. If p is not specified, all elements are assumed to have an equal probability of being selected.
Examples
Let’s start by importing the numpy library:
Selecting a single element
To select a single element from an array, use the following code:
a = np.array([1, 2, 3, 4, 5])
selected_element = np.random.choice(a)
print(selected_element)
This code will randomly select one element from the array a.
Selecting multiple elements
To select multiple elements from an array, use the size parameter as shown below:
a = np.array([1, 2, 3, 4, 5])
selected_elements = np.random.choice(a, size=3, replace=False)
print(selected_elements)
This code will randomly select three elements from the array a without replacement.
Weighted selection
To select elements from an array with different probabilities, use the p parameter as shown below:
a = np.array([1, 2, 3, 4, 5])
probs = np.array([0.1, 0.2, 0.3, 0.2, 0.2])
selected_element = np.random.choice(a, p=probs)
print(selected_element)
This code will select an element from the array a with the probabilities specified in the probs array.
Selecting from a 2D array
To select elements from a 2D array, use the axis parameter as shown below:
a = np.array([[1, 2], [3, 4], [5, 6]])
selected_element = np.random.choice(a, size=2, axis=0)
print(selected_element)
This code will randomly select two rows from the 2D array a.