Course Content
Ultimate NumPy
Ultimate NumPy
Random Arrays
It is often the case that we need to generate a random number or an array of random numbers. Luckily, NumPy has a module named random
specifically for this purpose.
The two most commonly used functions of the random
module are:
rand()
;randint()
.
rand()
The numpy.random.rand()
function is used to generate either a random float
number or an array of random floats from a uniform distribution over [0, 1).
Its only possible arguments are the dimensions of the array. If no argument is passed, rand()
generates a random float
number (scalar).
import numpy as np # Generating a random number random_number = np.random.rand() print(random_number) # Generating a random 1D array with 5 elements random_array = np.random.rand(5) print(random_array) # Generating a random 2D array (matrix) of shape 4x3 random_matrix = np.random.rand(4, 3) print(random_matrix)
Note
Dimensions in the
rand()
function should be specified as separate integer parameters, not as a tuple of integers. For example,rand(4, 3)
is correct, whilerand((4, 3))
is incorrect.
randint()
The numpy.random.randint
function is used to generate either a random integer or an array of random integers from a
discrete uniform distribution within a specified interval.
Its three most important parameters are low
(the only required parameter), high
, and size
. The interval is [low, high)
(from low
inclusive to high
exclusive). However, if high
is not specified, then the interval is [0, low)
.
import numpy as np # Generating a random integer from 0 to 3 exclusive random_integer = np.random.randint(3) print(random_integer) # Generating a 1D array of random integers in [0, 5) with 4 elements random_int_array = np.random.randint(5, size=4) print(random_int_array) # Generating a 1D array of random integers in [2, 5) with 4 elements random_int_array_2 = np.random.randint(2, 5, size=4) print(random_int_array_2) # Generating a random 2D array of random integers in [1, 6) of shape 4x2 random_int_matrix = np.random.randint(1, 6, size=(4, 2)) print(random_int_matrix)
Note
Unlike
rand()
, we specify the dimensions of the array via a single parametersize
, passing either an integer or a tuple of integers.
Swipe to show code editor
- Create a 1D array of random floats from a uniform distribution in [0, 1) with 4 elements for
random_floats_array
. - Create a 2D array of random floats from a uniform distribution in [0, 1) with a shape of 3x2 for
random_floats_matrix
. - Use the correct function to create a 2D array of random integers for
random_integers_matrix
. - Set the interval to [10, 21) (from
10
to21
exclusive) by specifying the first two arguments of the function. - Set the shape of the
random_integers_matrix
to 3x2 by specifying the third keyword argument of the function.
Thanks for your feedback!
Random Arrays
It is often the case that we need to generate a random number or an array of random numbers. Luckily, NumPy has a module named random
specifically for this purpose.
The two most commonly used functions of the random
module are:
rand()
;randint()
.
rand()
The numpy.random.rand()
function is used to generate either a random float
number or an array of random floats from a uniform distribution over [0, 1).
Its only possible arguments are the dimensions of the array. If no argument is passed, rand()
generates a random float
number (scalar).
import numpy as np # Generating a random number random_number = np.random.rand() print(random_number) # Generating a random 1D array with 5 elements random_array = np.random.rand(5) print(random_array) # Generating a random 2D array (matrix) of shape 4x3 random_matrix = np.random.rand(4, 3) print(random_matrix)
Note
Dimensions in the
rand()
function should be specified as separate integer parameters, not as a tuple of integers. For example,rand(4, 3)
is correct, whilerand((4, 3))
is incorrect.
randint()
The numpy.random.randint
function is used to generate either a random integer or an array of random integers from a
discrete uniform distribution within a specified interval.
Its three most important parameters are low
(the only required parameter), high
, and size
. The interval is [low, high)
(from low
inclusive to high
exclusive). However, if high
is not specified, then the interval is [0, low)
.
import numpy as np # Generating a random integer from 0 to 3 exclusive random_integer = np.random.randint(3) print(random_integer) # Generating a 1D array of random integers in [0, 5) with 4 elements random_int_array = np.random.randint(5, size=4) print(random_int_array) # Generating a 1D array of random integers in [2, 5) with 4 elements random_int_array_2 = np.random.randint(2, 5, size=4) print(random_int_array_2) # Generating a random 2D array of random integers in [1, 6) of shape 4x2 random_int_matrix = np.random.randint(1, 6, size=(4, 2)) print(random_int_matrix)
Note
Unlike
rand()
, we specify the dimensions of the array via a single parametersize
, passing either an integer or a tuple of integers.
Swipe to show code editor
- Create a 1D array of random floats from a uniform distribution in [0, 1) with 4 elements for
random_floats_array
. - Create a 2D array of random floats from a uniform distribution in [0, 1) with a shape of 3x2 for
random_floats_matrix
. - Use the correct function to create a 2D array of random integers for
random_integers_matrix
. - Set the interval to [10, 21) (from
10
to21
exclusive) by specifying the first two arguments of the function. - Set the shape of the
random_integers_matrix
to 3x2 by specifying the third keyword argument of the function.
Thanks for your feedback!