¿Cómo encontrar el índice de valor en Numpy Array?

En este artículo, vamos a encontrar el índice de los elementos presentes en una array NumPy. El método where() se usa para especificar el índice de un elemento particular especificado en la condición.

Sintaxis:

numpy.where(condition)

Aquí, la condición es la condición especificada.

Ejemplo 1:

En este programa, vamos a crear una array con NumPy y mostrarla. 

Podemos crear una array con numpy usando la siguiente sintaxis:

numpy.array([value1,value2,value3,.....,value n])

Python3

# import numpy package
import numpy as np
 
# create an numpy array with 1
# to 10 elements
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
 
print(a)

Producción:

[ 1  2  3  4  5  6  7  8  9 10]

Encontrar el índice de 3

Python3

# display index value
# of 3
print(np.where(a == 3))

Producción:

(array([2], dtype=int64),)

Encontrar un valor de índice de 9

Python3

# display index value of 9
print(np.where(a == 9))

Producción:

(array([8], dtype=int64),)

También podemos obtener el índice de elementos en función de múltiples condiciones. Esas condiciones se especifican en la función where().

Ejemplo 2:

Obtener el índice de elementos con un valor menor a 20 y mayor a 12

Python3

# Create a numpy array from a list of numbers
# from 11 to 20
a = np.array([11, 12, 13, 14, 15, 16, 17, 15,
                11, 12, 14, 15, 16, 17, 18, 19, 20])
 
# Get the index of elements with value less
# than 20 and greater than 12
print("The numbers index locations with the index of \
elements with value less than 20 and greater than 12 are ",
      np.where((a > 12) & (a < 20)))

Producción:

Las ubicaciones de índice de números con el índice de elementos con valor inferior a 20 y superior a 12 son (array([ 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15], dtype= int64),)

Obtener el índice de elementos con un valor menor a 20 y mayor a 12

Python3

# Create a numpy array from a list of
# numbers from 11 to 20
a = np.array([11, 12, 13, 14, 15, 16, 17, 15,
              11, 12, 14, 15, 16, 17, 18, 19, 20])
 
# Get the index of elements with value less
# than 20 or greater than 12
print("The numbers index locations with the index of \
elements with value less than 20 or  greater than 12 are ",
      np.where((a > 12) | (a < 20)))

Producción:

Las ubicaciones de índice de números con el índice de elementos con valor inferior a 20 o superior a 12 son (array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 , 14, 15, 16]),)

Ejemplo 3:

Muestra el índice del elemento donde los valores son inferiores a 20

Python3

# create numpy array elements
a = np.array([2, 3, 4, 5, 6, 45, 67, 34])
 
# display element index where values
# less than 20
print("element index where values less than 20 : ",
      np.where(a < 20))

Producción:

element index where values less than 20 :  (array([0, 1, 2, 3, 4], dtype=int64),)

Ejemplo 4:

Muestra el índice del elemento donde los valores son mayores que 20

Python3

# create numpy array elements
a = np.array([2, 3, 4, 5, 6, 45, 67, 34])
 
# display element index where values
# greater than 20
print("element index where values greater than 20 : ",
      np.where(a > 20))

Producción:

element index where values greater than 20 :  (array([5, 6, 7], dtype=int64),)

Método 2: Uso del bucle for

Acercarse

  1. Cree una array NumPy.
  2. itere sobre la array y compare el elemento de la array con la array dada.
  3. Si el elemento coincide, imprima el índice.

Python3

import numpy as np
 
# create numpy array elements
a = np.array([2, 3, 4, 5, 6, 45, 67, 34])
 
# display element index where value = 45
 
index_of_element = -1
for i in range(a.size):
    if a[i] == 45:
        index_of_element = i
        break
 
if index_of_element != -1:
    print("element index  : ", index_of_element)
else:
    print("The element not present")

Producción

element index  : 5

Publicación traducida automáticamente

Artículo escrito por gottumukkalabobby 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 *