Bird
Raised Fist0
NumPydata~10 mins

np.power() and np.square() in NumPy - Step-by-Step Execution

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Concept Flow - np.power() and np.square()
Start with input array
↓
Choose function: np.power or np.square
↓
np.power: raise each element to given exponent
↓
np.square: raise each element to power 2
↓
Output: new array with powered values
↓
End
The flow starts with an input array, then applies either np.power with a chosen exponent or np.square which squares each element, producing a new array as output.
Execution Sample
NumPy
import numpy as np
arr = np.array([1, 2, 3, 4])
pow_arr = np.power(arr, 3)
sq_arr = np.square(arr)
This code creates an array, raises each element to the power 3 using np.power, and squares each element using np.square.
Execution Table
StepInput ArrayFunctionExponentOutput ArrayExplanation
1[1, 2, 3, 4]np.power3[1, 8, 27, 64]Each element raised to power 3
2[1, 2, 3, 4]np.square2 (fixed)[1, 4, 9, 16]Each element squared (power 2)
3----End of operations
💡 All elements processed; output arrays created for both functions.
Variable Tracker
VariableStartAfter np.powerAfter np.square
arr[1, 2, 3, 4][1, 2, 3, 4][1, 2, 3, 4]
pow_arrN/A[1, 8, 27, 64][1, 8, 27, 64]
sq_arrN/AN/A[1, 4, 9, 16]
Key Moments - 3 Insights
Why does np.square not need an exponent argument?
np.square always raises elements to the power 2 internally, so you don't provide an exponent. See execution_table step 2 where exponent is fixed at 2.
Can np.power handle exponents other than 2?
Yes, np.power lets you specify any exponent, like 3 in step 1 of execution_table, unlike np.square which is fixed to 2.
Are the original array values changed after these operations?
No, the original array 'arr' stays the same as shown in variable_tracker; new arrays are created for results.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table step 1, what is the output of np.power(arr, 3)?
A[1, 8, 27, 64]
B[1, 4, 9, 16]
C[3, 6, 9, 12]
D[1, 2, 3, 4]
💡 Hint
Check the Output Array column in step 1 of execution_table.
At which step does the exponent get fixed to 2 automatically?
AStep 1
BStep 2
CStep 3
DNone
💡 Hint
Look at the Exponent column in execution_table for step 2.
If we change np.power(arr, 3) to np.power(arr, 2), what will happen to pow_arr?
Apow_arr will be [1, 8, 27, 64]
Bpow_arr will be unchanged
Cpow_arr will be [1, 4, 9, 16]
Dpow_arr will be [1, 2, 3, 4]
💡 Hint
Raising elements to power 2 squares them, matching np.square output in variable_tracker.
Concept Snapshot
np.power(array, exponent) raises each element of array to the given exponent.
np.square(array) is a shortcut to square each element (power 2).
Both return new arrays; original array stays unchanged.
Use np.power for any exponent, np.square for quick squares.
Full Transcript
We start with an input array. We can use np.power to raise each element to any exponent, like 3. Alternatively, np.square raises each element to power 2 automatically. Both functions create new arrays with the results, leaving the original array unchanged. The execution table shows step-by-step how inputs transform to outputs. Variable tracking confirms original data stays the same while new arrays hold powered values. Key moments clarify why np.square doesn't need an exponent and how np.power is more flexible. The quiz tests understanding of outputs and function behavior.

Practice

(1/5)
1. What does the np.square() function do in NumPy?
easy
A. It raises each element of an array to the power of 2.
B. It calculates the square root of each element in an array.
C. It multiplies two arrays element-wise.
D. It returns the sum of squares of array elements.

Solution

  1. Step 1: Understand the purpose of np.square()

    The function np.square() takes each element in an array and raises it to the power of 2.
  2. Step 2: Compare with other options

    It does not calculate square roots, multiply arrays, or sum squares; it only squares each element.
  3. Final Answer:

    It raises each element of an array to the power of 2. -> Option A
  4. Quick Check:

    np.square(x) = x² [OK]
Hint: Remember: square means power of 2, not root or sum [OK]
Common Mistakes:
  • Confusing square with square root
  • Thinking it sums squares instead of element-wise operation
  • Mixing with multiplication of arrays
2. Which of the following is the correct syntax to square all elements in a NumPy array arr using np.power()?
easy
A. np.power(arr)
B. np.power(2, arr)
C. np.power(arr, 2)
D. np.power(arr, arr)

Solution

  1. Step 1: Understand np.power() syntax

    The function np.power(base, exponent) raises each element in base to the exponent.
  2. Step 2: Apply to square elements

    To square elements of arr, use np.power(arr, 2). Other options misuse the order or miss the exponent.
  3. Final Answer:

    np.power(arr, 2) -> Option C
  4. Quick Check:

    np.power(arr, 2) = arr squared [OK]
Hint: np.power(base, exponent) order matters: base first [OK]
Common Mistakes:
  • Swapping base and exponent
  • Omitting the exponent argument
  • Using the array as exponent incorrectly
3. What is the output of the following code?
import numpy as np
arr = np.array([1, 2, 3])
result = np.power(arr, 3)
print(result)
medium
A. [1 6 9]
B. [1 8 27]
C. [3 6 9]
D. [1 4 9]

Solution

  1. Step 1: Understand np.power(arr, 3)

    This raises each element of arr to the power of 3.
  2. Step 2: Calculate each element

    1³=1, 2³=8, 3³=27, so the result is [1, 8, 27].
  3. Final Answer:

    [1 8 27] -> Option B
  4. Quick Check:

    np.power([1,2,3],3) = [1,8,27] [OK]
Hint: Power 3 means cube each element [OK]
Common Mistakes:
  • Calculating square instead of cube
  • Adding elements instead of powering
  • Confusing element-wise with sum
4. Identify the error in the following code snippet:
import numpy as np
arr = np.array([2, 4, 6])
result = np.square(arr, 2)
print(result)
medium
A. np.square() takes only one argument, but two were given.
B. np.square() cannot be used on arrays.
C. The array must be converted to a list before squaring.
D. The code should use np.power(arr, 2) instead.

Solution

  1. Step 1: Check np.square() function signature

    np.square() accepts only one argument: the array or number to square.
  2. Step 2: Analyze the code error

    The code passes two arguments, which causes a TypeError.
  3. Final Answer:

    np.square() takes only one argument, but two were given. -> Option A
  4. Quick Check:

    np.square(x) needs 1 argument [OK]
Hint: np.square() needs exactly one argument [OK]
Common Mistakes:
  • Passing extra arguments to np.square()
  • Thinking np.square() needs base and exponent
  • Confusing np.square() with np.power()
5. You have a NumPy array data = np.array([1, -2, 3, -4]). You want to create a new array where each element is squared, but negative values should be squared and then multiplied by -1 to keep their sign effect. Which code correctly achieves this?
hard
A. np.square(np.abs(data))
B. np.square(data)
C. np.power(data, 2)
D. np.where(data < 0, -np.square(data), np.square(data))

Solution

  1. Step 1: Understand the requirement

    Negative values should be squared and then multiplied by -1; positive values just squared.
  2. Step 2: Analyze each option

    np.where(data < 0, -np.square(data), np.square(data)) uses np.where to apply -np.square() for negatives and np.square() for positives, matching the requirement exactly.
  3. Final Answer:

    np.where(data < 0, -np.square(data), np.square(data)) -> Option D
  4. Quick Check:

    Conditional square with sign handled = np.where(data < 0, -np.square(data), np.square(data)) [OK]
Hint: Use np.where for conditionally applying functions [OK]
Common Mistakes:
  • Multiplying sign before squaring
  • Using np.sign(data) directly without condition
  • Confusing absolute value with sign handling