Indexación numpy

Indexación numpy
“Numpy es un paquete en Python utilizado para cálculos en matrices N-dimensionales. Los ejes son a lo que se refiere Numpy como dimensiones, y una operación es lo que es la indexación. Para recuperar una colección específica de valores de una matriz numpy, use la función de indexación. El valor y la colocación del valor en la matriz son cosas diferentes; Por lo tanto, debemos tener en cuenta que el índice en un ndarray comienza en cero. En este artículo, estudiaremos la indexación numpy y explicaremos cómo recuperar los valores de una matriz utilizando sus índices."

¿Qué es la indexación numpy??

Para acceder a los valores en matrices unidimensionales y multidimensionales, Python utiliza la indexación de matriz Numpy. La indexación de orden c es utilizada por Numpy. En consecuencia, la ubicación de memoria de más rápido cambio generalmente está representada por el índice final, mientras que el primer índice típicamente indica la misma ubicación de memoria.

Python estándar tiene la sintaxis "x [obj]", donde x es una matriz, y obj (un objeto) es una selección. Se pueden usar para indexar ndarrays dependiendo del tipo de objeto. Los dos tipos de indexación que se cubrirán hoy en día son la indexación básica e indexación avanzada. Los ejemplos que usaremos hacen que sea fácil entender cómo usar la indexación cuando se refieren a los datos en una matriz.

Ejemplo 1

El primer caso es la indexación básica. La indexación y la división a lo largo de las dimensiones de matriz se conocen como indexación base. Hay tres tipos de indexación básica: indexación de elementos, cortes básicos y herramientas de indexación dimensionales, que incluyen "elipses" y "nuevos ejes."

Nuestro primer caso demostrará el uso de la indexación de elementos únicos en la indexación básica.

importar numpy como np
a = np.Arange (20)
Imprimir (a [8])
Imprimir (a [-5])

Como podemos ver en la salida, la indexación básica funciona exactamente como cualquier otra secuencia estándar de Python. Está basado en cero y permite que los índices negativos comiencen al final de la matriz. Aquí, usando el código, primero definimos la variable "A" y pasamos el valor usando el NP.función arange, luego seleccionó el número entero negativo 5 para calcular la salida.

Ejemplo 2

Nuestro segundo ejemplo demostrará el uso de corte básico. El corte básico extiende el concepto básico de cortar en Python a N Dimensiones, y ocurre cuando "OBJ" es una combinación de objetos e enteros de corte o un objeto Slice entero. La sintaxis básica de corte es x: y: z, donde x representa el índice de inicio, y representa el índice de parada y z es el paso distinto de cero.

Ahora veamos el código:

importar numpy como np
a = np.Array ([7, 8, 9, 10, 11, 12, 13, 14, 15])
Imprimir (A [2: 11: 3])

El resultado que obtenemos es:

Negativo x e y se interpretan como n + x y + y, donde n representa el número de elementos en la dimensión correspondiente. La z negativa causará pisar los índices más pequeños. Usando los mismos valores desde arriba, ejecutamos el siguiente código para obtener el resultado de la matriz. El código es un [-7: 15], y la matriz es su resultado.

La salida se da aquí.

Para las siguientes dimensiones, se supone que hay menos de n objetos en la tupla de selección. El código es:

Aquí (2, 3, 1) se genera, como puede ver a continuación.

Ejemplo 3

En este ejemplo, utilizaremos las herramientas de indexación dimensionales Ellipsis y Newaxis, así como una combinación de los dos.

Vea la pantalla adjunta a continuación.

Ambos códigos son iguales entre sí, y ejecutar cualquiera de estos códigos dará la misma salida.

Aquí hay una idea, debemos unirnos a dos tipos de indexación, lo básico y avanzado:

A [..., 0]
A [:, :, 0
importar numpy como np
Imprimir ('Combinación de indexación básica y avanzada:')
a = np.Arange (6)
imprimir (a [:, np.Newaxis] + A [NP.Newaxis ,:])

La variable definida "A" usa el NP.Arange función y pasa el valor "6". La segunda línea de código declara el valor de la variable como "[: NP. Newaxis] + A [NP.Newaxis ,:] ". La salida para ejecutar el código es el siguiente.

Ahora pasamos a la indexación avanzada en la indexación numpy.

Ejemplo 4

Este caso analiza el primer tipo de indexación avanzada, llamada indexación entera. Cada elemento de la primera dimensión se combina con un elemento de la segunda dimensión al indexar con enteros. Como resultado, los elementos correspondientes se eligen con los índices de elementos (0,0), (1,0) y (2,1) en este ejemplo.

importar numpy como np
a = np.Array ([[7, 8], [9, 10], [11, 12]])
Imprimir (a [[0, 1, 1], [0, 0, 1]])

La salida es:

Ejemplo 5

Para este ejemplo, debemos intentar combinar la indexación básica y la indexación avanzada.

importar numpy como np
a = np.Array ([[7, 8, 9], [10, 11, 12],
[13, 14, 15], [16, 17, 18]])
Imprimir (a [1: 2, 1: 3])
Imprimir (a [1: 2, [1,2]])

Primero, ingresamos el comando para importar Numpy, luego definimos la variable "A" y luego pasamos el valor usando el NP.función de matriz. La salida que obtenemos es:

Ejemplo 6

Hablemos de las expresiones booleanas como índice. Es una expresión lógica que da como resultado "verdadero" o "falso". Solo se devuelven aquellos elementos que satisfacen la expresión booleana. Usando este método, los valores del elemento requerido se filtran.

Nuestro escenario es seleccionar un número mayor de 15 de algunos valores. El código que ejecutamos es: '

importar numpy como np
a = np.Array ([5, 8, 15, 17, 20])
imprimir (a [a> 15])

Después de definir la variable y pasar los valores anteriores al NP.Función de matriz, imprimimos para un valor mayor que el número 15 y obtenemos la siguiente salida:

Si solo hay una matriz booleana y sin matriz de enteros, la forma de salida será unidimensional y contendrá el número de elementos reales de la matriz booleana, seguido de las dimensiones restantes de la matriz que se indexan. Ejecutemos el siguiente código:

importar numpy
ABC = Numpy.Arange (15).remodelar (3, 5)
yz = ABC> 20
Imprimir (yz [:, 3])

Las funciones que estamos utilizando en este código son las de NP.arange () y rehape () después de definir la variable como "ABC" y la segunda variable como "YZ" cuyo valor es "ABC" es mayor que 15.

Al ejecutar el código, obtenemos el siguiente resultado.

Conclusión

En este artículo, hemos aprendido la definición de indexación numpy, así como dos tipos diferentes de indexación numpy, dividida en múltiples categorías y funciones. A través de varios ejemplos, aprendimos diferentes formas de usar la indexación numpy en forma de indexación básica y avanzada. También combinamos los tipos de indexación para verificar cuál sería el resultado. Pruebe los ejemplos proporcionados y vea cómo funcionan para usted en su camino a aprender sobre la indexación de Python Numpy.