Bird
Raised Fist0
NumPydata~10 mins

np.random.rand() and random arrays in NumPy - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - np.random.rand() and random arrays
Call np.random.rand()
↓
Generate uniform random numbers between 0 and 1
↓
Create array with specified shape
↓
Return random array
The function np.random.rand() generates random numbers between 0 and 1 and returns them in an array of the shape you specify.
Execution Sample
NumPy
import numpy as np
arr = np.random.rand(3,2)
print(arr)
This code creates a 3x2 array filled with random numbers between 0 and 1.
Execution Table
StepActionShape ArgumentRandom Numbers GeneratedArray Created
1Call np.random.rand()(3, 2)6 numbers between 0 and 1Array of shape (3, 2) with random values
2Return array(3, 2)Same 6 numbersArray ready for use
3Print array(3, 2)Same 6 numbersShows array values on screen
4End---
💡 Function completes after generating and returning the random array
Variable Tracker
VariableStartAfter np.random.rand(3,2)After printFinal
arrundefined3x2 array with random floatssame array printed3x2 array with random floats
Key Moments - 3 Insights
Why do the numbers in the array change every time I run np.random.rand()?
np.random.rand() generates new random numbers each time it is called, so the array values differ on every run as shown in the execution_table rows 1 and 2.
What does the shape argument (3, 2) mean in np.random.rand(3, 2)?
The shape argument tells numpy how many random numbers to generate and how to arrange them. Here, it creates 3 rows and 2 columns, making a 3x2 array as seen in execution_table row 1.
Are the random numbers generated between 0 and 1 or some other range?
np.random.rand() always generates numbers uniformly between 0 (inclusive) and 1 (exclusive), as shown in the concept_flow step 'Generate uniform random numbers between 0 and 1'.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, how many random numbers does np.random.rand(3, 2) generate?
A5
B6
C3
D2
💡 Hint
Check the 'Random Numbers Generated' column in step 1 of the execution_table.
At which step in the execution table is the array printed?
AStep 3
BStep 2
CStep 1
DStep 4
💡 Hint
Look for the action 'Print array' in the execution_table.
If you change np.random.rand(3, 2) to np.random.rand(2, 3), what changes in the execution table?
AThe number of random numbers generated changes to 5
BThe random numbers generated become integers
CThe shape argument changes to (2, 3) and array shape changes accordingly
DThe array is no longer random
💡 Hint
Refer to the 'Shape Argument' and 'Array Created' columns in the execution_table.
Concept Snapshot
np.random.rand(shape) generates random floats between 0 and 1.
The shape argument defines the array dimensions.
Returns an array filled with random numbers.
Values change every call.
Useful for simulations and testing.
Full Transcript
np.random.rand() is a function from numpy that creates arrays filled with random numbers between 0 and 1. You give it the shape you want, like (3, 2), and it returns an array with that many random numbers arranged in rows and columns. Each time you run it, the numbers change because they are randomly generated. This is useful when you want to test or simulate data. The code example shows how to create and print a 3 by 2 array of random numbers. The execution table traces the steps from calling the function, generating numbers, creating the array, printing it, and finishing. The variable tracker shows how the array variable changes from undefined to holding the random numbers. Common confusions include why numbers change every time, what the shape means, and the range of numbers generated. The quiz questions help check understanding by asking about the number of random numbers, when the array is printed, and what happens if the shape changes.

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