Bird
Raised Fist0
NumPydata~10 mins

np.argmin() and np.argmax() in NumPy - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - np.argmin() and np.argmax()
Start with array
↓
Find min or max value
↓
Locate index of min or max
↓
Return index
↓
End
The functions find the smallest or largest value in an array and return its index.
Execution Sample
NumPy
import numpy as np
arr = np.array([4, 2, 7, 1, 9])
min_index = np.argmin(arr)
max_index = np.argmax(arr)
print(min_index, max_index)
This code finds the index of the smallest and largest values in the array.
Execution Table
StepActionArray StateValue FoundIndex Returned
1Start with array[4, 2, 7, 1, 9]--
2Find minimum value[4, 2, 7, 1, 9]1-
3Find index of minimum[4, 2, 7, 1, 9]13
4Find maximum value[4, 2, 7, 1, 9]9-
5Find index of maximum[4, 2, 7, 1, 9]94
6Print results--3 4
💡 All values processed; indices of min and max returned.
Variable Tracker
VariableStartAfter Step 2After Step 3After Step 4After Step 5Final
arr[4, 2, 7, 1, 9][4, 2, 7, 1, 9][4, 2, 7, 1, 9][4, 2, 7, 1, 9][4, 2, 7, 1, 9][4, 2, 7, 1, 9]
min_indexundefinedundefined3333
max_indexundefinedundefinedundefinedundefined44
Key Moments - 2 Insights
Why does np.argmin() return 3 instead of the minimum value 1?
np.argmin() returns the index where the minimum value is found, not the value itself. See execution_table step 3 where index 3 corresponds to value 1.
Can np.argmax() return multiple indices if the max value appears more than once?
No, np.argmax() returns the first index of the maximum value found. This is shown in execution_table step 5 where index 4 is returned for max value 9.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the index returned by np.argmin()?
A3
B1
C4
D0
💡 Hint
Check the 'Index Returned' column at step 3 in the execution_table.
At which step does the code find the maximum value in the array?
AStep 3
BStep 2
CStep 4
DStep 5
💡 Hint
Look at the 'Action' column in execution_table where 'Find maximum value' is listed.
If the array was [4, 9, 7, 1, 9], what would np.argmax() return?
A0
B1
C4
D3
💡 Hint
np.argmax() returns the first index of the max value; check variable_tracker for max_index behavior.
Concept Snapshot
np.argmin(array) returns the index of the smallest value.
np.argmax(array) returns the index of the largest value.
Both return the first occurrence if duplicates exist.
Useful to find positions, not values.
Input is a numpy array; output is an integer index.
Full Transcript
This lesson shows how np.argmin() and np.argmax() work by finding the index of the smallest and largest values in a numpy array. We start with an array, find the min and max values, then locate their positions. The functions return the index, not the value itself. If there are duplicates, the first index is returned. The example array is [4, 2, 7, 1, 9]. np.argmin() returns 3 because the smallest value 1 is at index 3. np.argmax() returns 4 because the largest value 9 is at index 4. This helps us quickly find where important values are in data.

Practice

(1/5)
1. What does the function np.argmin() do in NumPy?
easy
A. Finds the index of the smallest value in an array
B. Finds the index of the largest value in an array
C. Returns the smallest value in an array
D. Returns the largest value in an array

Solution

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

    The function np.argmin() returns the index (position) of the smallest value in a NumPy array.
  2. Step 2: Differentiate from similar functions

    Unlike np.min() which returns the smallest value itself, np.argmin() returns where that value is located.
  3. Final Answer:

    Finds the index of the smallest value in an array -> Option A
  4. Quick Check:

    np.argmin() = index of smallest value [OK]
Hint: Remember: argmin = position of minimum value [OK]
Common Mistakes:
  • Confusing np.argmin() with np.min()
  • Thinking it returns the smallest value, not the index
  • Mixing up np.argmin() with np.argmax()
2. Which of the following is the correct NumPy function syntax to find the index of the largest value in a NumPy array arr?
easy
A. np.argmin(arr)
B. arr.argmax()
C. np.argmax(arr)
D. arr.argmin()

Solution

  1. Step 1: Recall the function to find largest value index

    np.argmax(arr) returns the index of the largest value in the array arr.
  2. Step 2: Check other options

    arr.argmax() is valid but not the function syntax asked; np.argmin() and arr.argmin() find smallest value index, not largest.
  3. Final Answer:

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

    np.argmax(arr) = index of max value [OK]
Hint: Use np.argmax() to get largest value index [OK]
Common Mistakes:
  • Using np.argmin() instead of np.argmax()
  • Confusing method call arr.argmax() with function np.argmax()
  • Mixing up largest and smallest value functions
3. Given the array arr = np.array([3, 1, 4, 1, 5]), what is the output of np.argmin(arr)?
medium
A. 3
B. 1
C. 0
D. 4

Solution

  1. Step 1: Identify the smallest value in the array

    The array is [3, 1, 4, 1, 5]. The smallest value is 1.
  2. Step 2: Find the index of the first occurrence of the smallest value

    The first 1 appears at index 1 (0-based indexing).
  3. Final Answer:

    1 -> Option B
  4. Quick Check:

    np.argmin([3,1,4,1,5]) = 1 [OK]
Hint: np.argmin() returns first smallest value index [OK]
Common Mistakes:
  • Choosing the last occurrence index instead of first
  • Confusing values with indices
  • Using np.argmax() by mistake
4. Consider the code:
import numpy as np
arr = np.array([[2, 5, 1], [7, 3, 9]])
index = np.argmax(arr, axis=1)

What is the correct output of index?
medium
A. [1 2]
B. [0 2]
C. [2 1]
D. [2 2]

Solution

  1. Step 1: Understand np.argmax with axis=1

    axis=1 means find the index of the largest value in each row.
  2. Step 2: Find largest values per row and their indices

    Row 0: [2, 5, 1], max is 5 at index 1; Row 1: [7, 3, 9], max is 9 at index 2.
  3. Step 3: Check options carefully

    [2 2] shows [2 2], which is incorrect because first row max index is 1, not 2. [1 2] is [1 2], which matches the correct indices.
  4. Final Answer:

    [1 2] -> Option A
  5. Quick Check:

    np.argmax(arr, axis=1) = [1 2] [OK]
Hint: axis=1 finds max index per row [OK]
Common Mistakes:
  • Mixing up axis parameter
  • Confusing row and column indices
  • Assuming global max index instead of per row
5. You have a 2D NumPy array representing exam scores of 4 students in 3 subjects:
scores = np.array([[88, 92, 79], [95, 85, 91], [70, 78, 88], [90, 91, 85]])

How do you find the subject index where each student scored the lowest?
hard
A. np.argmax(scores, axis=0)
B. np.argmin(scores, axis=0)
C. np.argmax(scores, axis=1)
D. np.argmin(scores, axis=1)

Solution

  1. Step 1: Understand the array and axis meaning

    Each row is a student, columns are subjects. axis=1 means operate across columns (subjects) per student.
  2. Step 2: Use np.argmin with axis=1 to find lowest score subject per student

    np.argmin(scores, axis=1) returns the index of the smallest score in each student's row.
  3. Final Answer:

    np.argmin(scores, axis=1) -> Option D
  4. Quick Check:

    Lowest subject per student = np.argmin(scores, axis=1) [OK]
Hint: Use axis=1 to find min per row (student) [OK]
Common Mistakes:
  • Using axis=0 which finds min per subject, not per student
  • Using np.argmax instead of np.argmin
  • Confusing rows and columns in axis parameter
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