Recently, while working on a data analysis project, I needed to quickly identify the minimum value in a large dataset. NumPy arrays came to my rescue with their efficient methods for finding minimum values.
In this article, I’ll show you several ways to find the smallest element in a NumPy array. Whether you’re dealing with one-dimensional or multi-dimensional arrays, these methods will help you identify minimum values with just a few lines of code.
So let’s get in!
Python Program to Find the Smallest Element in a NumPy Array
Let me show you some
Read Python NumPy Matrix Operations
Method 1 – Use NumPy’s min() Function
The simplest way to find the smallest element in a NumPy array is by using the built-in min() function in Python. This method works on arrays of any dimension.
import numpy as np
# Create a sample NumPy array
sample_array = np.array([34, 12, 89, 5, 23, 67])
# Find the smallest element
smallest_element = np.min(sample_array)
print("The smallest element in the array is:", smallest_element)Output:
The smallest element in the array is: 5You can refer to the screenshot below to see the output.

The np.min() function scans through the entire array and returns the smallest value it finds. It’s incredibly fast, even with large arrays, thanks to NumPy’s optimized C implementation.
Check out 0-Dimensional Array NumPy in Python
Method 2 – Use the Array’s min() Method
Another approach is to use the array’s min() method in Python. This is essentially another way to access the same functionality.
import numpy as np
# Create a sample NumPy array
sample_array = np.array([34, 12, 89, 5, 23, 67])
# Find the smallest element using the array method
smallest_element = sample_array.min()
print("The smallest element in the array is:", smallest_element)Output:
The smallest element in the array is: 5You can refer to the screenshot below to see the output.

I often prefer this syntax when I’m chaining multiple operations together, as it reads more naturally from left to right.
Method 3 – Find Minimum in Multi-dimensional Arrays
When working with multi-dimensional Python arrays (like matrices), you might want to find the minimum along specific axes or the global minimum.
import numpy as np
# Create a 2D NumPy array (3x4 matrix)
matrix = np.array([
[14, 23, 7, 19],
[8, 16, 11, 5],
[22, 9, 15, 18]
])
# Find the global minimum (smallest element in the entire matrix)
global_min = np.min(matrix)
# Find the minimum along rows (axis 1)
row_mins = np.min(matrix, axis=1)
# Find the minimum along columns (axis 0)
column_mins = np.min(matrix, axis=0)
print("Matrix:")
print(matrix)
print("\nGlobal minimum:", global_min)
print("Row minimums:", row_mins)
print("Column minimums:", column_mins)Output:
Matrix:
[[14 23 7 19]
[ 8 16 11 5]
[22 9 15 18]]
Global minimum: 5
Row minimums: [ 7 5 9]
Column minimums: [ 8 9 7 5]You can refer to the screenshot below to see the output.

This is particularly useful when analyzing data like temperature readings across different cities over a week. You could find the minimum temperature for each city (row minimums) or the minimum temperature on each day across all cities (column minimums).
Check out Create an Empty Array using NumPy in Python
Method 4 – Find the Position of the Minimum Value
Sometimes you not only want to know what the minimum value is, but also where it’s located in your array. Python NumPy’s argmin() function provides this information.
import numpy as np
# Create a sample NumPy array
sample_array = np.array([34, 12, 89, 5, 23, 67])
# Find the position of the smallest element
min_position = np.argmin(sample_array)
print("The smallest element is:", sample_array[min_position])
print("Its position in the array is:", min_position)Output:
The smallest element is: 5
Its position in the array is: 3This is extremely useful when you need to know not just the minimum value, but also its exact location in the dataset. For example, if your array represents stock prices over time, argmin() would tell you exactly which day had the lowest price.
Read NumPy: Create a NaN Array in Python
Method 5 – Handle NaN Values
When working with real-world data, you’ll often encounter missing values represented as NaN (Not a Number). Regular minimum functions treat NaN as smaller than any number, which is usually not what you want.
NumPy provides special functions to handle this scenario:
import numpy as np
# Create an array with some NaN values
data_with_nans = np.array([34, 12, np.nan, 5, 23, np.nan, 67])
# Regular min() returns NaN if any element is NaN
regular_min = np.min(data_with_nans)
# nanmin() ignores NaN values and returns the minimum of the remaining values
nan_min = np.nanmin(data_with_nans)
print("Array with NaNs:", data_with_nans)
print("Regular min():", regular_min)
print("nanmin():", nan_min)Output:
Array with NaNs: [34. 12. nan 5. 23. nan 67.]
Regular min(): nan
nanmin(): 5.0The np.nanmin() function is particularly helpful when analyzing datasets with missing values, like incomplete sensor readings or survey responses.
Check out NumPy Zeros in Python
Performance Considerations
When working with very large arrays, performance becomes crucial. I’ve found that NumPy’s minimum functions are highly optimized and work efficiently even with millions of elements.
Here’s a quick performance comparison:
import numpy as np
import time
# Create a large array with 10 million elements
large_array = np.random.rand(10000000)
# Time the np.min() function
start_time = time.time()
min_value = np.min(large_array)
end_time = time.time()
print(f"Minimum value: {min_value}")
print(f"Time taken with np.min(): {end_time - start_time:.6f} seconds")
# Compare with Python's built-in min() function
start_time = time.time()
min_value_python = min(large_array)
end_time = time.time()
print(f"Time taken with Python's min(): {end_time - start_time:.6f} seconds")When you run this code, you’ll typically find that NumPy’s implementation is significantly faster than Python’s built-in function, especially for large arrays.
I hope you found this article helpful! Finding the smallest element in a NumPy array is a common operation in data analysis and scientific computing. With these methods in your toolkit, you’ll be able to efficiently identify minimum values in any type of array you’re working with.
Whether you’re analyzing stock prices, temperature readings, or any other numerical data, these techniques will help you extract valuable insights from your datasets.
Other Python articles you may also like:

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.