Pseudorandom Number Generator using NumPy
- The pseudo-random number is a partial random number, not a ‘truly’ random number. These are computer-generated numbers (pre-determined) that look random.
- These algorithms are a set of algorithms created by Computer Scientists to generate pseudo-random numbers (approximates).
- Seed functions use for generate random numbers, based on “pseudo-random number generators” algorithms.
Syntax:-
random.seed()
example: -
import numpy as np
np.random.seed(101) #Here, 101 is seed value
np.random.randint(low = 1, high = 10, size = 10)
Output:
array([2,7,8,9,5,9,6,1,6,9])
Random Seed Importance
- NumPy random () function based on some value called a seed value.
- Numpy. random. seed () method initialized a Random State and generator is re-seeded.
- The same seed value runs to the same random number generation even on different machines given the environment remains the same.
- functions used to compute uniform, normal (Gaussian), lognormal, negative exponential, gamma, and beta distributions. For generating distributions of angles, the von Mises distribution is available.
- Table:- Partial list of numpy.random functions
Random Number Operations
1. choice():- an inbuilt function returns a random item from a list, tuple, or string.
Example
# import random
import random
# prints a random value from the list
list1 = [1, 2, 3, 4, 5, 6]
print(random.choice(list1))
# prints a random item from the string
string = "striver"
print(random.choice(string))
Output:
5
t
Example
# import random
import random
# prints a random value from the list
list1 = [1, 2, 3, 4, 5, 6]
print(random.choice(list1))
# prints a random item from the string
string = "striver"
print(random.choice(string))
Output:
5
t
2. randrange(beg, end, step):- generate random numbers from a specified range.
Example:
# importing "random" for random operations
import random
# using choice() to generate a random number from a
# given list of numbers.
print("A random number from list is : ", end="")
print(random.choice([1, 4, 8, 10, 3]))
# using randrange() to generate in range from 20
# to 50. The last parameter 3 is step size to skip
# three numbers when selecting.
print("A random number from range is : ", end="")
print(random.randrange(20, 50, 3))
Output:
A random number from list is : 4
A random number from range is : 41
3. random():-generate a float random number less than 1 and greater or equal to 0.
4. seed():- used to save the state of a random function and generate some random numbers on multiple executions of the code on the same machine or on different machines (for a specific seed value).
Example:
# importing "random" for random operations
import random
# using random() to generate a random number
# between 0 and 1
print("A random number between 0 and 1 is : ", end="")
print(random.random())
# using seed() to seed a random number
random.seed(5)
# printing mapped random number
print("The mapped random number with 5 is : ", end="")
print(random.random())
# using seed() to seed different random number
random.seed(7)
# printing mapped random number
print("The mapped random number with 7 is : ", end="")
print(random.random())
# using seed() to seed to 5 again
random.seed(5)
# printing mapped random number
print("The mapped random number with 5 is : ", end="")
print(random.random())
# using seed() to seed to 7 again
random.seed(7)
# printing mapped random number
print("The mapped random number with 7 is : ", end="")
print(random.random())
Output:
A random number between 0 and 1 is : 0.510721762520941
The mapped random number with 5 is : 0.6229016948897019
The mapped random number with 7 is : 0.32383276483316237
The mapped random number with 5 is : 0.6229016948897019
The mapped random number with 7 is : 0.32383276483316237
The mapped random number with 5 is : 0.6229016948897019
The mapped random number with 7 is : 0.32383276483316237
The mapped random number with 5 is : 0.6229016948897019
The mapped random number with 7 is : 0.32383276483316237
5. shuffle():- used to make a sequence (list). Shuffling means changing the position of the elements of the sequence.
Example:
# import the random module
import random
# declare a list
sample_list = ['A', 'B', 'C', 'D', 'E']
print("Original list : ")
print(sample_list)
# first shuffle
random.shuffle(sample_list)
print("\nAfter the first shuffle : ")
print(sample_list)
# second shuffle
random.shuffle(sample_list)
print("\nAfter the second shuffle : ")
print(sample_list)
# import the random module
import random
# declare a list
sample_list = ['A', 'B', 'C', 'D', 'E']
print("Original list : ")
print(sample_list)
# first shuffle
random.shuffle(sample_list)
print("\nAfter the first shuffle : ")
print(sample_list)
# second shuffle
random.shuffle(sample_list)
print("\nAfter the second shuffle : ")
print(sample_list)
Output:
Original list :
['A', 'B', 'C', 'D', 'E']
After the first shuffle :
['A', 'B', 'E', 'C', 'D']
After the second shuffle :
['C', 'E', 'B', 'D', 'A']
6. uniform(a, b):- used to generate a floating-point random number between the numbers mentioned in its arguments. It takes two arguments, lower limit(included in generation) and upper limit(not included in generation).
Original list :
['A', 'B', 'C', 'D', 'E']
After the first shuffle :
['A', 'B', 'E', 'C', 'D']
After the second shuffle :
['C', 'E', 'B', 'D', 'A']
6. uniform(a, b):- used to generate a floating-point random number between the numbers mentioned in its arguments. It takes two arguments, lower limit(included in generation) and upper limit(not included in generation).
Example:-
# importing "random" for random operations
import random
# Initializing list
li = [1, 4, 5, 10, 2]
# Printing list before shuffling
print("The list before shuffling is : ", end="")
for i in range(0, len(li)):
print(li[i], end=" ")
print("\r")
# using shuffle() to shuffle the list
random.shuffle(li)
# Printing list after shuffling
print("The list after shuffling is : ", end="")
for i in range(0, len(li)):
print(li[i], end=" ")
print("\r")
# using uniform() to generate random floating number in range
# prints number between 5 and 10
print("The random floating point number between 5 and 10 is : ", end="")
print(random.uniform(5, 10))
# importing "random" for random operations
import random
# Initializing list
li = [1, 4, 5, 10, 2]
# Printing list before shuffling
print("The list before shuffling is : ", end="")
for i in range(0, len(li)):
print(li[i], end=" ")
print("\r")
# using shuffle() to shuffle the list
random.shuffle(li)
# Printing list after shuffling
print("The list after shuffling is : ", end="")
for i in range(0, len(li)):
print(li[i], end=" ")
print("\r")
# using uniform() to generate random floating number in range
# prints number between 5 and 10
print("The random floating point number between 5 and 10 is : ", end="")
print(random.uniform(5, 10))
Output:
The list before shuffling is : 1 4 5 10 2
The list after shuffling is : 2 1 4 5 10
The random floating-point number between 5 and 10 is : 5.183697823553464
The list before shuffling is : 1 4 5 10 2
The list after shuffling is : 2 1 4 5 10
The random floating-point number between 5 and 10 is : 5.183697823553464
Others:-
getrandbits() method — this allows randrange() to produce selections over an arbitrarily large range.
os.urandom() :- generate random numbers from sources provided by the operating system.
random.getstate():- Return an object capturing the current internal state of the generator. This is passed to setstate() to restore the state.
random.setstate(state):- state obtained from a previous call to getstate(), and setstate() restores the internal state of the generator.
==========================================================
=============================================
getrandbits() method — this allows randrange() to produce selections over an arbitrarily large range.
os.urandom() :- generate random numbers from sources provided by the operating system.
random.getstate():- Return an object capturing the current internal state of the generator. This is passed to setstate() to restore the state.
random.setstate(state):- state obtained from a previous call to getstate(), and setstate() restores the internal state of the generator.
==========================================================
=============================================
0 Comments