Open In App

Finding the k smallest values of a NumPy array

Last Updated : 02 Sep, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, let us see how to find the k number of the smallest values from a NumPy array.

Examples:

Input: [1,3,5,2,4,6] 
k = 3

Output: [1,2,3] 

Method 1: Using np.sort()

Approach:

  1. Create a NumPy array.
  2. Determine the value of k.
  3. Sort the array in ascending order using the sort() method.
  4. Print the first k values of the sorted array.

Python3




# importing the modules
import numpy as np
  
# creating the array 
arr = np.array([23, 12, 1, 3, 4, 5, 6])
print("The Original Array Content")
print(arr)
  
# value of k
k = 4
  
# sorting the array
arr1 = np.sort(arr)
  
# k smallest number of array
print(k, "smallest elements of the array")
print(arr1[:k])


Output:

The Original Array Content
[23 12  1  3  4  5  6]
4 smallest elements of the array
[1 3 4 5]

Method 2: Using np.argpartition() 

Approach:

  1. Create a NumPy array.
  2. Determine the value of k.
  3. Get the indexes of the smallest k elements using the argpartition() method.
  4. Fetch the first k values from the array obtained from argpartition() and print their index values with respect to the original array.

Python3




# importing the module
import numpy as np
  
# creating the array 
arr = np.array([23, 12, 1, 3, 4, 5, 6])
print("The Original Array Content")
print(arr)
  
# value of k
k = 4
  
# using np.argpartition()
result = np.argpartition(arr, k)
  
# k smallest number of array
print(k, "smallest elements of the array")
print(arr[result[:k]])


Output:

The Original Array Content
[23 12  1  3  4  5  6]
4 smallest elements of the array
[4 3 1 5]


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads