¿Cómo obtener los valores n más grandes de una array usando NumPy?

Veamos el programa para saber cómo obtener los n valores más grandes de una array usando la biblioteca NumPy. Para obtener n valores más grandes de una array NumPy, primero debemos ordenar la array NumPy usando la función numpy.argsort() de NumPy y luego aplicar el concepto de división con indexación negativa.

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

Devuelve: [index_array, ndarray] Array de índices que ordenan arr a lo largo del eje especificado. Si arr es unidimensional, entonces arr[index_array] devuelve una array ordenada.

Veamos un ejemplo:

Ejemplo 1: obtener el primer valor más grande de una array NumPy.

Python3

# import library
import numpy as np
  
# create numpy 1d-array
arr = np.array([2, 0,  1, 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])

Producción:

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

Ejemplo 2: Obtener los 3 valores más grandes de una array NumPy.

Python3

# import library
import numpy as np
  
# create numpy 1d-array
arr = np.array([2, 0,  1, 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)

Producción:

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

Publicación traducida automáticamente

Artículo escrito por ankthon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *