NumPy's random number generation capabilities are essential for various tasks, from simulations to statistical analysis.
1. np.random.rand()
Purpose: Generates an array of random floating-point values uniformly distributed between 0 (inclusive) and 1 (exclusive).
Syntax:
Python
np.random.rand(d0, d1, ..., dn)
d0, d1, ..., dn: Integers specifying the shape (dimensions) of the desired array.
Example:
Python
import numpy as np
random_array = np.random.rand(3) # 1D array with 3 random values
print(random_array) # Output (values will vary on each run):
# [0.234523 0.789012 0.567823]
random_matrix = np.random.rand(2, 2) # 2x2 matrix of random values
print(random_matrix) # Output (values will vary):
# [[0.12345 0.87654]
# [0.98765 0.34567]]
2. np.random.randn()
Purpose: Generates an array of random values from a standard normal distribution (mean 0, standard deviation 1).
Syntax:
Python
np.random.randn(d0, d1, ..., dn)
Same as np.random.rand() for specifying the shape.
Example:
Python
standard_normal_array = np.random.randn(4)
print(standard_normal_array) # Output (values will vary):
# [-0.3456 1.2345 0.7890 -0.5678]
3. np.random.randint()
Purpose: Generates an array of random integers from a specified range (inclusive at the lower bound, exclusive at the upper bound).
Syntax:
Python
np.random.randint(low, high, size=d, dtype='l')
low: Lower bound (inclusive).
high: Upper bound (exclusive).
size: Number of elements in the array (optional).
dtype (optional): Data type of the elements (default is 'l' for long integer).
Example:
Python
dice_rolls = np.random.randint(1, 7, size=10) # Simulates 10 dice rolls
print(dice_rolls) # Output (values will vary):
# [4 3 2 5 6 1 3 5 4 2]
random_ints_0_to_9 = np.random.randint(0, 10, size=(2, 3)) # 2x3 matrix of random integers between 0 and 9
print(random_ints_0_to_9) # Output (values will vary):
# [[3 7 8]
# [1 5 0]]
Key Points:
Seeding (Optional): Use np.random.seed() to set the initial state of the random number generator for reproducibility in your simulations.
Versatility: NumPy's random number generation caters to various scenarios through these functions and other distributions available in the random module.
Let me know if you'd like to explore:
Other random number distributions (e.g., binomial, Poisson)
Seeding for reproducibility
Applications of random numbers in simulations or calculations
No comments:
Post a Comment
Note: only a member of this blog may post a comment.