Numpy Random Choice featured image

Numpy Random Choice : Create Random Sample Array

GET FREE AMZAON AUDIOBOOKS

Numpy has many useful functions that allow you to do mathematical calculations over an array efficiently. In fact, It creates an array that performs calculations very fast. There is a Numpy random choice method that creates a random sample array from the given 1D NumPy array. In this entire tutorial, I will discuss it.

Syntax of the Numpy Random Choice Method

Before going to the example part, let’s know the syntax of the function.

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

An explanation of the parameters is below.

a

Your input 1D Numpy array.

size

The number of elements you want to generate.

replace

It Allows you for generating unique elements. The Default is true and is with replacement.

p
The probabilities of each element in the array to generate.

 

Examples of Numpy Random Choice Method

Example 1:  Uniform random Sample within the range

You can generate an array within a range using the random choice() method. Here You have to input a single value in a parameter. Then define the number of elements you want to generate. The array will be generated.

np.random.choice(10, 5)

Output

Generate a random Sample from within the range
Generate a random Sample from within the range

You can see in the figure. The five elements have been generated within the range. But there is a repeated element also. And it is 8.

How you can avoid it? You can do so by using the replace argument. It generates unique elements within the range.

Execute the below lines of code.

np.random.choice(10, 5,replace=True)

Output

Generate a random Sample with unique values in the range
Generate a random Sample with unique values in the range

You can see all the generated elements are unique.

Example 2: Non -Uniform random Sample within the range

The above case was generating a uniform random sample. Now let’s generate a non-uniform sample. Here each element has some probabilities. The sample will be created according to it. And if you generate the sample using it then random.choice() method, then it includes elements using it.

Secondly, Let p is the list of probabilities of each element.

Run the code given below.

p=[0.1, 0, 0.3, 0.6, 0]
np.random.choice(5,4,p=p)

Output

Generate a random Non-Uniform Sample within the range
Generate a random Non-Uniform Sample within the range

You can see it in the figure again, the duplicates elements have been included. If you want to get only unique elements then you have to use the replace argument.

p=[0.1, 0, 0.3, 0.6, 0]
np.random.choice(5,3,replace=False,p=p)

Output

Generate a random Non-Uniform Sample with unique values in the range
Generate a random Non-Uniform Sample with unique values in the range

Example 3: Random sample from 1D Numpy array

Firstly, Now let’s generate a random sample from the 1D Numpy array. In this example first I will create a sample array. And then use the NumPy random choice method to generate a sample.

Execute the below lines of code to generate it.

array_1d = np.array([1,2,3,4,5,6])
np.random.choice(array_1d,3)

Output

Generate a random Uniform Sample using 1D Array
Generate a random Uniform Sample using 1D Array

Conclusion

That’s all for now. Numpy random choice method is able to generate both a random sample that is a uniform or non-uniform sample. Hope the above examples have cleared your understanding on how to apply it.

Even,Further  if you have any queries then you can contact us for getting more help.

Source:

Numpy Random Choice Documentation

Join our list

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.

Thank you for signup. A Confirmation Email has been sent to your Email Address.

Something went wrong.

 
Thank you For sharing.We appreciate your support. Don't Forget to LIKE and FOLLOW our SITE to keep UPDATED with Data Science Learner