There are many functions in numpy that allows you to easily manipulate the numpy array. The numpy argmin() function is one of them. It allows you to find the index of the minimum value of the numpy array. In this tutorial you will know all the steps to implement the numpy argmin() function.
Syntax of the numpy argmin() function
The syntax of the argmin() function is the below.
numpy.argmin(a, axis=None, out=None)
Explanation of the parameters are the below.
a: This is the input array.
axis: Axis or axes along which to operate. By default, it operates on the flattened array. If specified, it returns indices along the specified axis or axes.
out: This is an optional output array. If provided, the result is placed in this array. It must have the same shape as the expected output but of the type int.
Steps to implement Numpy argmin Function
Below are the steps to implement numpy argmin function.
Step 1: Import Numpy
Make sure you have NumPy installed and import it in your script or Jupyter Notebook using the import statment.
import numpy as np
Step 2: Create an Array
Create the array on which you want to find the indices of the minimum values.
my_array = np.array([[40, 80, 20],
[60, 10, 70],
[90, 30, 50]])
Step 3: Use numpy.argmin
Apply the numpy.argmin
function to find the indices of the minimum values. You can specify the axis along which to operate.
min_indices = np.argmin(my_array)
If you want to find indices along a specific axis (e.g., columns or rows), you can specify the axis
parameter.
min_indices_axis_0 = np.argmin(my_array, axis=0) # along columns
min_indices_axis_1 = np.argmin(my_array, axis=1) # along rows
The result will be an array of indices corresponding to the minimum values along the specified axis.
Note: If you want to find the indices of the minimum values directly (not flattened), you can use the unravel_index
function.
min_indices_unraveled = np.unravel_index(np.argmin(my_array), my_array.shape)
This will give you a tuple of indices corresponding to the minimum value in the original array.
Below is the complete code for the above steps.
import numpy as np
# Create an array
my_array = np.array([[40, 80, 20],
[60, 10, 70],
[90, 30, 50]])
# Find the indices of the minimum values
min_indices = np.argmin(my_array)
min_indices_axis_0 = np.argmin(my_array, axis=0)
min_indices_axis_1 = np.argmin(my_array, axis=1)
min_indices_unraveled = np.unravel_index(np.argmin(my_array), my_array.shape)
print("Indices of the minimum value:", min_indices)
print("Indices of the minimum values along axis 0:", min_indices_axis_0)
print("Indices of the minimum values along axis 1:", min_indices_axis_1)
print("Unraveled indices of the minimum value:", min_indices_unraveled)
Output
Indices of the minimum value: 4
Indices of the minimum values along axis 0: [0 1 0]
Indices of the minimum values along axis 1: [2 1 1]
Unraveled indices of the minimum value: (1, 1)
Conclusion
You can use the numpy.argmin() to find the index of the minium value of a numpy array. Use the above steps to find the index. You can also find the index of minimum value directly using the unravel_index function.
Leave a Reply