Bird
Raised Fist0
NumPydata~5 mins

np.random.rand() and random arrays in NumPy

Choose your learning style10 modes available
Introduction

We use np.random.rand() to create arrays filled with random numbers between 0 and 1. This helps us test ideas or simulate real-world data when we don't have actual data.

When you want to simulate random data for testing a model.
When you need random numbers to fill an array for experiments.
When you want to create random samples for a game or simulation.
When you want to initialize weights randomly in machine learning.
When you want to practice working with arrays and randomness.
Syntax
NumPy
import numpy as np

# Create a random array with shape (d1, d2, ..., dn)
random_array = np.random.rand(d1, d2, ..., dn)

The arguments d1, d2, ..., dn are the dimensions of the array you want.

The numbers generated are floats between 0 (inclusive) and 1 (exclusive).

Examples
This creates a 1D array with 5 random numbers between 0 and 1.
NumPy
import numpy as np

# 1D array with 5 random numbers
array_1d = np.random.rand(5)
print(array_1d)
This creates a 2D array (matrix) with 3 rows and 4 columns filled with random numbers.
NumPy
import numpy as np

# 2D array with 3 rows and 4 columns
array_2d = np.random.rand(3, 4)
print(array_2d)
This creates an empty array because the size is zero.
NumPy
import numpy as np

# Edge case: zero size array
empty_array = np.random.rand(0)
print(empty_array)
This creates a 3D array with 2 blocks, each having 1 row and 3 columns.
NumPy
import numpy as np

# 3D array with shape (2, 1, 3)
array_3d = np.random.rand(2, 1, 3)
print(array_3d)
Sample Program

This program creates two different 2D random arrays with 2 rows and 3 columns each. It prints both arrays so you can see the random numbers generated.

NumPy
import numpy as np

# Create a 2D random array with 2 rows and 3 columns
random_array_before = np.random.rand(2, 3)
print("Random array before:")
print(random_array_before)

# Create another random array with the same shape
random_array_after = np.random.rand(2, 3)
print("\nRandom array after:")
print(random_array_after)
OutputSuccess
Important Notes

Time complexity: Generating random numbers with np.random.rand() is very fast and runs in O(n) where n is the total number of elements.

Space complexity: The space used is proportional to the size of the array you create.

Common mistake: Forgetting that the numbers are always between 0 and 1, so if you want other ranges, you need to scale or shift the numbers.

When to use: Use np.random.rand() when you want random floats between 0 and 1. For other distributions or integer random numbers, use other functions like np.random.randint() or np.random.normal().

Summary

np.random.rand() creates arrays filled with random floats between 0 and 1.

You specify the shape by giving dimensions as arguments.

It is useful for testing, simulations, and initializing random data.

Practice

(1/5)
1. What does the function np.random.rand(3, 2) do in NumPy?
easy
A. Creates a 3x2 array with random floats between 0 and 1
B. Creates a 3x2 array filled with zeros
C. Creates a 3x2 array with random integers
D. Creates a 3x2 array filled with ones

Solution

  1. Step 1: Understand np.random.rand() function

    This function generates random floats between 0 and 1.
  2. Step 2: Analyze the shape arguments (3, 2)

    The arguments specify the shape of the output array as 3 rows and 2 columns.
  3. Final Answer:

    Creates a 3x2 array with random floats between 0 and 1 -> Option A
  4. Quick Check:

    np.random.rand(3, 2) = 3x2 random floats [OK]
Hint: Remember rand() outputs floats in [0,1) with given shape [OK]
Common Mistakes:
  • Thinking it creates integers instead of floats
  • Confusing shape arguments with array values
  • Assuming it creates zeros or ones
2. Which of the following is the correct syntax to create a 1D array of 5 random floats using np.random.rand()?
easy
A. np.random.rand(5)
B. np.random.rand[5]
C. np.random.rand((5))
D. np.random.rand{5}

Solution

  1. Step 1: Recall correct function call syntax

    Functions use parentheses () to pass arguments, not brackets [] or braces {}.
  2. Step 2: Check argument for array size

    Passing 5 inside parentheses creates a 1D array of length 5.
  3. Final Answer:

    np.random.rand(5) -> Option A
  4. Quick Check:

    Correct function call uses parentheses ( ) [OK]
Hint: Use parentheses () for function calls, not brackets or braces [OK]
Common Mistakes:
  • Using square brackets [] instead of parentheses
  • Using curly braces {} which are invalid syntax
  • Adding extra parentheses unnecessarily
3. What is the shape and type of the output from this code?
import numpy as np
arr = np.random.rand(2, 4)
print(arr.shape, type(arr))
medium
A. (4, 2) <class 'numpy.ndarray'>
B. (2, 4) <class 'list'>
C. (2, 4) <class 'numpy.ndarray'>
D. (4, 2) <class 'list'>

Solution

  1. Step 1: Understand np.random.rand(2, 4) output

    This creates a NumPy array with shape (2, 4) filled with random floats.
  2. Step 2: Check the type of the variable arr

    It is a NumPy ndarray, not a Python list.
  3. Final Answer:

    (2, 4) <class 'numpy.ndarray'> -> Option C
  4. Quick Check:

    Shape and type match NumPy array output [OK]
Hint: np.random.rand dims = shape; output is always ndarray [OK]
Common Mistakes:
  • Confusing shape order (2,4) vs (4,2)
  • Thinking output is a Python list
  • Misreading print output format
4. Identify the error in this code snippet:
import numpy as np
arr = np.random.rand[3, 3]
print(arr)
medium
A. Shape arguments should be strings
B. Missing import statement for numpy
C. Incorrect print syntax
D. Using square brackets [] instead of parentheses () for function call

Solution

  1. Step 1: Check function call syntax

    np.random.rand is a function and must be called with parentheses (), not square brackets [].
  2. Step 2: Verify other parts of code

    Import is correct, print syntax is valid, shape arguments are integers as required.
  3. Final Answer:

    Using square brackets [] instead of parentheses () for function call -> Option D
  4. Quick Check:

    Function calls need parentheses ( ) [OK]
Hint: Always use () to call functions, not [] [OK]
Common Mistakes:
  • Using [] instead of () for function calls
  • Assuming shape args must be strings
  • Thinking print syntax is wrong
5. You want to create a 2D array with 3 rows and 4 columns filled with random floats between 0 and 1, then multiply all values by 10 to scale them. Which code correctly does this?
hard
A. arr = np.random.rand(12) * 10
B. arr = np.random.rand(3, 4) * 10
C. arr = np.random.rand(3) * 4 * 10
D. arr = np.random.rand(3, 4) + 10

Solution

  1. Step 1: Create a 3x4 array of random floats

    Use np.random.rand(3, 4) to get a 2D array with 3 rows and 4 columns.
  2. Step 2: Scale all values by 10

    Multiply the entire array by 10 to scale values from [0,1) to [0,10).
  3. Final Answer:

    arr = np.random.rand(3, 4) * 10 -> Option B
  4. Quick Check:

    Shape and scaling done correctly [OK]
Hint: Multiply after rand() to scale values, keep shape in arguments [OK]
Common Mistakes:
  • Adding 10 instead of multiplying
  • Using wrong shape arguments
  • Creating 1D array instead of 2D
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard