Bird
Raised Fist0
NumPydata~10 mins

np.abs() for absolute values 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.abs() for absolute values
Input array or number
↓
Call np.abs() function
↓
Calculate absolute value element-wise
↓
Return array or number with all values >= 0
np.abs() takes a number or array and returns the absolute value for each element, making all values non-negative.
Execution Sample
NumPy
import numpy as np
arr = np.array([-3, 0, 4, -7])
result = np.abs(arr)
print(result)
This code finds the absolute values of each element in the array.
Execution Table
StepInput Valuenp.abs() CalculationOutput Value
1-3abs(-3) = 33
20abs(0) = 00
34abs(4) = 44
4-7abs(-7) = 77
5All elements processedReturn array[3, 0, 4, 7]
💡 All elements processed, output array contains only non-negative values.
Variable Tracker
VariableStartAfter 1After 2After 3After 4Final
arr[-3, 0, 4, -7][-3, 0, 4, -7][-3, 0, 4, -7][-3, 0, 4, -7][-3, 0, 4, -7][-3, 0, 4, -7]
resultN/A[3, _, _, _][3, 0, _, _][3, 0, 4, _][3, 0, 4, 7][3, 0, 4, 7]
Key Moments - 3 Insights
Why does np.abs() return positive values even for negative inputs?
np.abs() calculates the distance from zero, which is always positive or zero, as shown in execution_table rows 1, 4.
Does np.abs() change the original array?
No, np.abs() returns a new array with absolute values, the original array stays the same as shown in variable_tracker for 'arr'.
Can np.abs() handle zero values?
Yes, zero stays zero because its absolute value is zero, as shown in execution_table row 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the output value at step 3?
A0
B-4
C4
D7
💡 Hint
Check the 'Output Value' column at step 3 in the execution_table.
At which step does the condition 'abs(-7)' get calculated?
AStep 4
BStep 2
CStep 5
DStep 1
💡 Hint
Look for the input value '-7' in the execution_table under 'Input Value'.
If the input array was [5, -2, -8], what would be the output at step 2?
A-2
B2
C5
D-8
💡 Hint
np.abs() converts negative numbers to positive, see execution_table steps for reference.
Concept Snapshot
np.abs(x) returns the absolute value of x.
Works element-wise on arrays.
Negative values become positive.
Zero stays zero.
Original data is not changed.
Useful to measure distance or magnitude.
Full Transcript
This lesson shows how np.abs() works by taking an input array with negative and positive numbers. It calculates the absolute value for each element, turning negatives into positives and leaving zeros unchanged. The original array stays the same, and the output is a new array with all non-negative values. Step-by-step, each element is processed and converted. This helps understand how absolute values work in data science.

Practice

(1/5)
1. What does the np.abs() function do in NumPy?
easy
A. Calculates the square of a number
B. Computes the negative of a number
C. Finds the maximum value in an array
D. Returns the absolute value of a number or each element in an array

Solution

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

    The function np.abs() returns the absolute value, which means it removes any negative sign from numbers.
  2. Step 2: Apply to numbers or arrays

    It works on single numbers or arrays, returning the size without sign for each element.
  3. Final Answer:

    Returns the absolute value of a number or each element in an array -> Option D
  4. Quick Check:

    np.abs(-5) = 5 [OK]
Hint: Think: absolute means distance from zero, no minus sign [OK]
Common Mistakes:
  • Confusing absolute value with square
  • Thinking it finds max value
  • Assuming it negates numbers
2. Which of the following is the correct syntax to get absolute values of a NumPy array arr?
easy
A. np.absolutevalue(arr)
B. abs(np.arr)
C. np.abs(arr)
D. arr.abs()

Solution

  1. Step 1: Recall the correct function name

    The correct NumPy function to get absolute values is np.abs().
  2. Step 2: Check syntax correctness

    Calling np.abs(arr) applies the function to the array correctly. Other options have wrong function names or syntax.
  3. Final Answer:

    np.abs(arr) -> Option C
  4. Quick Check:

    np.abs(array) is correct syntax [OK]
Hint: Use np.abs() exactly, no extra words or dot on array [OK]
Common Mistakes:
  • Using abs(np.arr) which is invalid
  • Writing np.absolutevalue instead of np.abs
  • Trying to call abs() as a method on array
3. What is the output of the following code?
import numpy as np
arr = np.array([-3, 0, 4, -7])
print(np.abs(arr))
medium
A. [0 3 4 7]
B. [3 0 4 7]
C. [-3 0 4 -7]
D. [3 0 -4 7]

Solution

  1. Step 1: Understand np.abs on array elements

    np.abs() converts each element to its absolute value, removing negative signs.
  2. Step 2: Apply to each element in arr

    Elements: -3 -> 3, 0 -> 0, 4 -> 4, -7 -> 7.
  3. Final Answer:

    [3 0 4 7] -> Option B
  4. Quick Check:

    Absolute values remove negatives [OK]
Hint: Replace negatives with positive, keep zeros and positives same [OK]
Common Mistakes:
  • Leaving negative signs unchanged
  • Mixing element order
  • Confusing zero with negative
4. The code below throws an error. What is the mistake?
import numpy as np
arr = [-1, -2, 3]
print(np.abs[arr])
medium
A. Using square brackets [] instead of parentheses () with np.abs
B. Array must be a NumPy array, not a list
C. np.abs cannot handle negative numbers
D. Missing import statement

Solution

  1. Step 1: Identify function call syntax

    Functions in Python require parentheses () to call, not square brackets [].
  2. Step 2: Check np.abs usage

    np.abs[arr] tries to index np.abs, causing an error. Correct is np.abs(arr).
  3. Final Answer:

    Using square brackets [] instead of parentheses () with np.abs -> Option A
  4. Quick Check:

    Function calls need () not [] [OK]
Hint: Remember: functions use () to call, [] is for indexing [OK]
Common Mistakes:
  • Using [] instead of () for function calls
  • Thinking np.abs only works on NumPy arrays
  • Ignoring import statement errors
5. You have an array of temperature changes: temps = np.array([-5, 3, -2, 0, 4]). You want to find the total magnitude of change ignoring direction. Which code correctly calculates this?
hard
A. total_change = np.sum(np.abs(temps))
B. total_change = np.abs(np.sum(temps))
C. total_change = np.sum(temps)
D. total_change = np.abs(temps.sum())

Solution

  1. Step 1: Understand the goal

    We want the total magnitude, so sum of absolute values of each change.
  2. Step 2: Compare options

    total_change = np.sum(np.abs(temps)) sums absolute values element-wise, correct. total_change = np.abs(np.sum(temps)) sums first then abs, losing individual magnitudes. Options C and D ignore absolute values properly.
  3. Final Answer:

    total_change = np.sum(np.abs(temps)) -> Option A
  4. Quick Check:

    Sum of absolute values gives total magnitude [OK]
Hint: Sum absolute values, not absolute of sum [OK]
Common Mistakes:
  • Taking absolute after summing, losing individual sizes
  • Summing without absolute, cancelling negatives
  • Using wrong function names