Bird
Raised Fist0
NumPydata~10 mins

np.abs() for absolute values in NumPy - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to calculate the absolute values of the array elements.

NumPy
import numpy as np
arr = np.array([-1, -2, 3, -4])
abs_arr = np.[1](arr)
print(abs_arr)
Drag options to blanks, or click blank then click option'
Aabs
Babsval
Cabsolute
Dabs_values
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'absval' or 'abs_values' which do not exist.
2fill in blank
medium

Complete the code to find the absolute values of a 2D numpy array.

NumPy
import numpy as np
arr = np.array([[-1, 2], [-3, 4]])
result = np.[1](arr)
print(result)
Drag options to blanks, or click blank then click option'
Aabsval
Babs
Cabs_values
Dabsolute
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to use 'absval' or 'abs_values' which are not valid numpy functions.
3fill in blank
hard

Fix the error in the code to correctly compute absolute values of the array.

NumPy
import numpy as np
arr = np.array([-5, 6, -7])
abs_values = np.[1](arr)
print(abs_values)
Drag options to blanks, or click blank then click option'
Aabsolute
Babsval
Cabs_values
Dabs
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'absval' or 'abs_values' which are not numpy functions.
4fill in blank
hard

Fill both blanks to create a dictionary of words and their absolute length if length is greater than 3.

NumPy
words = ['data', 'ai', 'science', 'ml']
lengths = {word: [1] for word in words if [2] > 3}
print(lengths)
Drag options to blanks, or click blank then click option'
Alen(word)
Bword
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'word' instead of 'len(word)' for length.
Not filtering words by length correctly.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase keys and absolute length values for words longer than 2.

NumPy
import numpy as np
words = ['data', 'ai', 'science', 'ml']
result = { [1]: np.[2](len([3])) for word in words if len(word) > 2}
print(result)
Drag options to blanks, or click blank then click option'
Aword.upper()
Babsolute
Cword
Dabs
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'word' instead of 'word.upper()' for keys.

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