Matrices NumPy: uso efectivo y sugerencias

Para Matrices Numpy, si está utilizando Python para la ciencia de datos, ya sea que haya usado NumPy o deba haber escuchado al respecto. La mayor parte del análisis estadístico que necesita datos para almacenarse en la memoria usa NumPy.

En esta publicación, le hablaré sobre algunos de los consejos, trucos y técnicas específicos que le ayudarán a obtener la mayoría de las matrices NumPy

1. Modificación de matrices NumPy existentes

A diferencia de las listas de Python, NumPy no tiene una función de adición (…) lo que significa que no podemos anexar datos o cambiar el tamaño de las matrices NumPy.

Para cambiar el tamaño y / o dimensión, necesitamos crear nuevas matrices NumPy mediante la aplicación de funciones de utilidad en la matriz anterior.

Sintácticamente, las matrices NumPy son similares a las listas de Python donde podemos usar operadores de subíndices para insertar o cambiar los datos de las matrices NumPy. Como ejemplo, para una matriz NumPy de tamaño 5, podemos usar loops como while y para acceder / cambiar / actualizar los contenidos

https://medium.com/media/4c085711e69d40ab4a1ef60e1d9dd2a6/href

Comprensiblemente, esto es una forma muy anticuada y no funcional de acceder / manipular los datos. Afortunadamente, NumPy proporciona funciones de acceso masivo para el mismo que hace las mismas cosas sin esfuerzo en una línea. Una de esas funciones es numpy.put (…).

Para representar el uso de numpy.put (…), crearemos una lista de python y copiaremos el contenido de esa lista en la matriz NumPy [19659012] https://medium.com/media/51ace4d6b799e15d56505f60b19a5b9d/href

La función numpy.put (…) toma un rango y luego usa el mismo para copiar la fuente del destino. La copia estará limitada al número proporcionado en la función de rango (..).

En el ejemplo anterior, si cambiamos la línea np.put (…) como

 np.put (np_arr, rango ( 3), py_arr)

Cambiará solo los primeros tres elementos de np_arr y dejará intacto todo lo demás

La aplicabilidad de la función np.put (…) no se limita a copiar matrices en 1-D, sino que puede también se puede usar para copiar arreglos nD como se muestra en el siguiente código

https://medium.com/media/fea8d33e517cc49268f0891e58576e7f/href

Con la función np.put (…), podemos proporcionar una lista de números Sin embargo, existen algunas condiciones en las que queremos copiar los mismos números a todos los elementos de NumPy. Esto es similar a llamar a np.zeros (…) o np.ones (…), con la diferencia de que junto con cero y uno, también se pueden proporcionar otros números

Esto se logra llamando a np.fill (…) función.

Cualquiera que sea el número que proporcionemos dentro del relleno (..), se aplicará a todos los elementos de la matriz NumPy, independientemente de si la matriz es una matriz de una dimensión o una matriz de múltiples dimensiones

https://medium.com/media/a1af36df216102b4588779ae426c2280/href

La función .fill (..) solo toma valores escalares.

El ejemplo que se muestra aquí es de dtype = np.int. También es aplicable para todos los demás tipos de datos, como np.float, np.str, np.object, etc.

2. Slicing NumPy Arrays

Si ha experimentado cortar la lista de Python, se sentirá como en casa aquí.

Las matrices NumPy de corte vienen con funcionalidades adicionales y se vuelven interesantes en el caso de las matrices de múltiples dimensiones. Sin embargo, para comprender correctamente cómo funciona el corte, primero tenemos que buscar en matrices de dimensión única antes de buscar en matrices de múltiples dimensiones.

El: se llama separador y funciona con Inclusivo – Exclusivo [19659030] principal, lo que significa que se incluirá la izquierda del separador, mientras que el derecho del separador se excluirá.

Por ejemplo, una declaración como np_arr [1:4] significa que incluirá el índice → 1, pero excluirá el índice → 4. De esta forma se mostrarán elementos de Índice → 1,2 y 3

A continuación, se incluyen algunos ejemplos de división de matrices de una dimensión y sus salidas esperadas

https://medium.com/media/971b393243102252ea71b0f31f28f06c/href [19659010] Una funcionalidad única de slicing present con NumPy arrays, pero no se puede usar con python list es la capacidad de cambiar varios elementos de la matriz in situ con un valor. [19659003] Para ser honesto, esta es una de las funciones extremadamente valiosas y ayuda tanto en matemáticas como en aprendizaje automático. Así es como usa esta funcionalidad

https://medium.com/media/0ae57a3b5207640f93097990e4d0c9d6/href

Ahora veamos cómo dividir las matrices multidimensionales. Cuando segmentamos matrices de múltiples dimensiones, el significado de la izquierda y la derecha del separador permanece igual (es decir, índice) pero lo ampliamos utilizando dos conjuntos de separadores separados por comas que representan Filas y Columnas Ie

[rows → Start_Index : End_Index, Column → Start_Index : End_Index ]

Estos son algunos ejemplos de lo que significa cortar en el caso de matrices 2D

https://medium.com/media/7f186099cb1cbe32f94a506e5e3afdcc/href

De manera similar con una matriz 3D, Tendrá que agregar un valor más separado por comas para una dimensión. Aquí hay algunos ejemplos de lo mismo

https://medium.com/media/db9432c7f762de6324dd88aba1127b4a/href

3. División de las matrices de NumPy

En algún punto del tiempo, es necesario dividir la matriz n-dy n-d en filas y columnas. Existen múltiples funciones y formas de dividir las matrices numpy, pero dos funciones específicas que ayudan a dividir las matrices NumPy en filas y en columnas están divididas y hsplit.

  • se usa la función dividida para Fila sabia división
  • La ​​función hsplit se usa para Column wise splitting

La forma más simple de dividir matrices NumPy se puede hacer en su dimensión. Una matriz de 3 * 4 se puede dividir fácilmente en 3 conjuntos de listas para Filas y 4 conjuntos de listas que usan Columnas. Así es como podemos hacer lo mismo

https://medium.com/media/c3fb0eb384ee132682de411f75523067/href

Podemos proporcionar un número diferente de la dimensión disponible para la división, siempre que el factor de multiplicidad permita la división. Por ejemplo, podemos dividir la columna sabia de la columna en 2 conjuntos como

https://medium.com/media/eb84b6a8b49d16a202fc0514611ddd44/href

Splits desiguales múltiples

En el ejemplo anterior, proporcionamos un número igual dividir la matriz NumPy sabia o columna sabia.

Sin embargo, es posible hacer divisiones irregulares en diferentes filas y columnas al proporcionar el índice exacto en el que debe dividirse.

Funciona igual que cortar como ‘ ve visto arriba. Según el índice proporcionado en la lista, estas funciones divididas dividirán Filas o Columnas en consecuencia.

Supongamos que tenemos la misma matriz en 2D que se muestra arriba y quiero hacer una división personalizada.

Caso – 1: Divida 3 Filas en [1] y [2,3]

Aquí, quiero dividir las filas de manera que la divida en dos, donde extraemos la primera fila y luego la combinación de la segunda y la tercera fila como una sola. Así es como haremos eso

https://medium.com/media/ba48f81ffbbdf1d5ba6f6e1f4b5e4d5e/href

Caso – 2: Divida 4 columnas en [1][2,3] y [4]

Aquí, quiero dividir las columnas de manera que se divida en tres, donde extraemos la primera columna, seguida de una segunda + tercera columna, y finalmente con una cuarta columna. Así es como lo haremos

https://medium.com/media/121beb5c21c59235a14a00247d9be1a8/href

Así que estos fueron algunos consejos de NumPy que pueden ayudarlo a usarlo de mejor manera.

Eso es todo para esta historia en particular. Más sobre el próximo conjunto de historias.

¡Gracias por leer …!

 

Dejá un comentario