Table of Contents
Fill array with random numbers in Python
An array is one of the fundamental data structures in Python. It stores elements in a contiguous memory location and each element can be accessed using its respective index. In Python, the numpy
library is used to implement array data structures. Lists are also another data structure that mimics an array in Python.
In this tutorial, we will discuss different methods to fill array with random numbers in Python.
We can create an array of our desired shapes. Sometimes, we may require dummy arrays for some calculations. We can create an array filled with such dummy values since the numpy
library also implements a random
module to generate random numbers.
Ways to fill array with random numbers in Python
Let us now discuss how to fill array with random numbers in Python.
Using the numpy.random.randint()
function to fill array with random numbers in Python
As discussed earlier, the numpy
library has a random
module that can help in generating random numbers for numpy
arrays. The randint()
function can be used to generate an array of the required size and fill array with random numbers in Python.
We need to remember the three main parameters. The first two parameters are the low
and high
values. The function will select a random integer between this range. The third parameter is the shape
parameter which specifies the shape of the final array.
See the following example.
1 2 3 4 5 |
import numpy as np arr = np.random.randint(0,10,10) print(arr) |
Output:
In the above example, we generate random numbers between 0 to 10 and fill it in a one-dimensional array of length ten.
Using the numpy.random.Generator.integers()
function to fill array with random numbers in Python
The numpy.random.Generators
offer a new way to generate and work with random numbers. It uses an additional BitGenerator
to spawn such random bits and manage their states. To initiate a new Generator
, we use the numpy.random.default_rng()
constructor.
After this, we can use the numpy.random.Generator.integers()
function to generate random numbers and fill array with random numbers in Python.
We need to specify the low
, high
, and shape
values in this function as we did in the previous method.
For example,
1 2 3 4 5 6 |
import numpy as np g = np.random.default_rng() arr = g.integers(0,5,10) print(arr) |
Output:
Further reading:
Using the random.randint()
function to fill array with random numbers in Python
As discussed in the first section, lists in Python also mimic an array. We can fill lists with random numbers using the random
module in Python. We will use list comprehension along with the random.randint()
function to fill array with random numbers in Python.
We will use the random.randint()
function to generate a random number between a given range. We will use the list comprehension method that loops over this function the required number of times, creating a new list of the required length.
See the following code.
1 2 3 4 5 |
import random arr = [random.randint(1,5) for _ in range(10)] print(arr) |
Output:
Conclusion
To conclude, in this tutorial we discussed different methods to fill array with random numbers in Python. Essentially, we were creating arrays with random numbers. For this, we used numpy
arrays and lists.
For numpy
arrays, we had two methods. The first was the traditional numpy.random.randint()
function that generates a numpy
array of a given length filled with random numbers between a given range.
In the second method, we used a relatively new numpy.random.Generators
module to create the array. It uses Generators
that provide an additional state to manage and generate random bits.
In the final method, we discussed how to fill array with random numbers in Python using the list comprehension method and the random.randint()
function. Essentially, we create a loop and run the randint()
function the required number of times and add the generated number to a list.