Skip to content
Related Articles

Related Articles

Finding the k smallest values of a NumPy array
  • Last Updated : 02 Sep, 2020
GeeksforGeeks - Summer Carnival Banner

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]

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :