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:
- Create a NumPy array.
- Determine the value of k.
- Sort the array in ascending order using the sort() method.
- 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:
- Create a NumPy array.
- Determine the value of k.
- Get the indexes of the smallest k elements using the argpartition() method.
- 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]