So, you need to generate random numbers? You are not alone. Generating random numbers is an important component for various applications such as in statistical sampling, computer simulations and machine learning to generate a correct split of the various datasets.
We are in the constant need of generating random numbers in the form of random lists, arrays and various other data types with random numbers. For all of our sakes, here are various code snippets for generating random numbers with python.
Python Random Module
To quickly generate random numbers, the python random module gives most of the functionality you need. This module implements a random number generator for various distributions, sequences, integers and many others that will be more than enough for most of your random number needs.
To import this module and begin using just run the following command.
Many times you want your work to be reproducible. In other words, when someone else runs your code, you still want them to get the same random number that you got. If you are in need of this, the random module provides you with a seed function in which you can set the internal state of the random number generator to a specific seed. This will ensure every other run of your random code snippet returns the same result. For this article, we will seed it to a 5. You will be getting the same results as this article as you run through your code.
We are ready to start generating random numbers with python.
Generate a Random Number Between 0 and 1
If you want to generate random numbers between 0 and 1 in which all numbers between 0 and 1 have the same probability of being generated do the following.
Generate a random integer in python using the random module randint function. For example, we will generate a random integer between 0 and 10 with the following code snippet.
import random random.randint(0,9) #4
Generate Random Integer between X and Y which is a multiple of M
This is a straight forward code with the randrange function. In this code snippet, we will generate a random int between 0 and 20 which is a multiple of 5.
import random random.randrange(0,20,5) #5
Python Random List of Integers
To generate a list of random numbers with the python random module you can use list comprehension as follows. In the following code, we will generate a list of 100 random integers between 0 and 10.
import random randomList = [random.randint(0,10) for i in range(100)] #[10, 10, 3, 4, 4, 9,.....
Python Random List of Numbers
To generate a list of random numbers (not only integers) use the following code snippet. In the sample, we generate a list of 100 random numbers in a range between 0 and 5.
import random randomList = [random.uniform(0,5) for i in range(100)] #[4.600186035782766, 3.971900865392305, 3.5331061990045596, 3.4946896473697624, 2.0666182120216203,.....
Python Random Number following Normal Distribution
To generate random numbers following a normal distribution you can also utilize the random module. In the following code snippet, we will generate random numbers that follow a normal distribution of mean 50 and standard deviation 3 using the Gauss function.
import random random.gauss(50,2) #47.53526914642783
Python includes many excellent random number generators out of which the random module is an excellent choice for your many projects that require a random number generator.