Related Articles

Related Articles

How to get the n-largest values of an array using NumPy?
  • Last Updated : 29 Aug, 2020

Let’s see the program for how to get the n-largest values of an array using NumPy library. For getting n-largest values from a NumPy array we have to first sort the NumPy array using numpy.argsort() function of NumPy then applying slicing concept with negative indexing.

Syntax: numpy.argsort(arr, axis=-1, kind=’quicksort’, order=None)

Return: [index_array, ndarray] Array of indices that sort arr along the specified axis.If arr is one-dimensional then arr[index_array] returns a sorted arr.

Let’s see an example:

Example 1: Getting the 1st largest value from a NumPy array.



Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# import library
import numpy as np
  
# create numpy 1d-array
arr = np.array([2, 01, 5,
                4, 1, 9])
  
print("Given array:", arr)
  
# sort an array in
# ascending order
  
# np.argsort() return
# array of indices for
# sorted array
sorted_index_array = np.argsort(arr)
  
# sorted array
sorted_array = arr[sorted_index_array]
  
print("Sorted array:", sorted_array)
  
# we want 1 largest value
n = 1
  
# we are using negative
# indexing concept
  
# take n largest value
rslt = sorted_array[-n : ]
  
# show the output
print("{} largest value:".format(n),
      rslt[0])

chevron_right


Output:

Given array: [2 0 1 5 4 1 9]
Sorted array: [0 1 1 2 4 5 9]
1 largest value: 9

Example 2: Getting the 3-largest values from a NumPy array.

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# import library
import numpy as np
  
# create numpy 1d-array
arr = np.array([2, 01, 5,
                4, 1, 9])
  
print("Given array:", arr)
  
# sort an array in
# ascending order
  
# np.argsort() return
# array of indices for
# sorted array
sorted_index_array = np.argsort(arr)
  
# sorted array
sorted_array = arr[sorted_index_array]
  
print("Sorted array:", sorted_array)
  
# we want 3 largest value
n = 3
  
# we are using negative
# indexing concept
  
# find n largest value
rslt = sorted_array[-n : ]
  
# show the output
print("{} largest value:".format(n),
      rslt)

chevron_right


Output:

Given array: [2 0 1 5 4 1 9]
Sorted array: [0 1 1 2 4 5 9]
3 largest value: [4 5 9]

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 :