Hoja de trucos de NumPy

Nov 27 2022
Entonces, ¿necesitas echar un vistazo rápido a NumPy que te permita trabajar de forma práctica? ¡Este artículo es justo lo que necesitas! Getting Started NumPy es un paquete de computación científica en Python. Viene con funciones predefinidas para álgebra lineal, transformada de Fourier y matrices.

Entonces, ¿necesitas echar un vistazo rápido a NumPy que te permita trabajar de forma práctica? ¡Este artículo es justo lo que necesitas!

Empezando

NumPy es un paquete de computación científica en Python. Viene con funciones predefinidas para álgebra lineal, transformada de Fourier y matrices. NumPy se usa generalmente para aplicaciones de ciencia de datos.

Para comenzar, primero asegúrese de tener Python y NumPy en su sistema. Cómo lo obtenga depende de su sistema y del IDE de su preferencia, pero recomiendo Anaconda. Con la instalación básica de Anaconda, simplemente puede ir a la terminal y ejecutar "conda install numpy" y ¡listo!

Ahora, creemos un archivo ejemplo.py para comenzar a trabajar.

Nota: si tuviéramos que crear un proyecto en lugar de un solo archivo de ejemplo para trabajar, simplemente tendríamos que crear un directorio y un archivo __init__.py dentro de él.

Debe agregar la siguiente línea en la parte superior del archivo para poder trabajar con NumPy dentro del archivo.

importar numpy como np

Nota: generalmente lo importamos como np para que no tengamos que escribir numpy cada vez que llamamos a una función desde NumPy. Tenga en cuenta que, aunque se puede cambiar, np es la convención general.

Después de eso, puede ejecutar el código dentro del archivo de ejemplo simplemente yendo a la terminal y ejecutando el comando:

python ejemplo.py

Lista vs matriz

Vamos a usar mucho Arrays con nuestras operaciones NumPy, así que es mejor aclarar una cosa: las listas y los arrays son diferentes en Python.

Con Arrays puede declarar estructuras multidimensionales como matrices, y puede realizar operaciones numéricas dentro, pero ese no es el caso con las simples Listas antiguas. Por lo tanto, NumPy depende en gran medida de Arrays.

Las listas se pueden asignar a un valor sin tener que declararlas, pero las matrices no. Entonces, para definir una matriz, debe hacer lo siguiente:

exampleArray = np.arrray([10, 15, 20]) // matriz unidimensional

O puede definir una matriz multidimensional como:

ejemploArray2 = np.array([10, 15, 20], [50, 100, 150], [1, 2, 3])

Puede llamar elementos dentro de la matriz como:

ejemploArray2 [1] // devuelve [50, 100, 150]

ejemploArray2 [1] [0]// devuelve 50

Métodos

A continuación, encontrará las funciones más básicas que se usan comúnmente cuando se trabaja con NumPy. Aunque hay muchos, muchos más, lo siguiente será suficiente para comenzar.

Métodos de creación de matrices

  • np.arange(0, 10): crea una matriz unidimensional con números del 0 al 9 como elementos.
  • np.arange(0, 10, 3): crea una matriz unidimensional con números entre 0 y 10 saltando a cada tercio. Devuelve una matriz con 0,3,6,9 como elementos.
  • np.zeros(3): crea una matriz de 3 elementos con el valor 0 para cada elemento.
  • np.ones(3): crea una matriz de 3 elementos con el valor 1 para cada elemento.
  • np.linspace(0,20,5): Toma 5 números entre 0 y 20 con pasos iguales entre ellos. Devuelve una matriz de elementos 0, 5, 10, 15, 20. Tenga en cuenta que si dijimos seleccionar 6 elementos, los elementos serían flotantes en lugar de interferencias para garantizar el mismo espacio entre ellos.
  • np.eye(3): crea una matriz de identidad con 3 columnas y 3 filas. Los valores de la diagonal devuelven todos 1 y todos los demás valores devuelven 0.
  • np.random.randn(5): crea una matriz unidimensional con 5 números aleatorios como elementos. Los números pueden ser de tipo entero y/o flotante, negativo y/o positivo.
  • np.random.randn(5,5): Crea una matriz con 5 filas y 5 columnas con 25 valores aleatorios como elementos.
  • np.random.randint(1, 10, 2): Devuelve dos números aleatorios mayores que 1 y menores que 10.
  • myArray.reshape(5,5): Toma la matriz unidimensional llamada myArray y la devuelve como una matriz con 5 filas y 5 columnas. Tenga en cuenta que si no hay una cantidad suficiente de elementos dentro de la matriz, en el caso de ejemplo 5 x 5 = 25 elementos, esto generará un error y no funcionará. Este método no cambiará la matriz en sí, sino que simplemente devolverá una versión modificada de la matriz.
  • myArray.max(): Devuelve el número más grande dentro de los elementos de una matriz de números.
  • myArray.min(): Devuelve el número más pequeño dentro de los elementos de una matriz de números.
  • myArray.argmax(): Devuelve el índice del número más grande dentro de los elementos de una matriz de números.
  • myArray.argmin(): Devuelve el índice del número más pequeño dentro de los elementos de una matriz de números.
  • myArray.shape: Devuelve la forma de una matriz. Si la matriz es de una sola dimensión con 10 elementos, devolverá (10, ). Si la matriz es una matriz que consta de 5 columnas y 6 filas, devolverá (5,6). Tenga en cuenta que esto no es una función, sino un atributo, por lo que no hay paréntesis al llamar a la forma.
  • myArray[5]: Devuelve el elemento de la matriz con el número de índice de 5
  • myArray[3:5]: Devuelve los elementos entre los números de índice 3 y 5, incluido el elemento con el índice 3 pero sin incluir el 5.
  • myArray[3:5] = -3: Cambia el valor de los elementos entre los índices 3 y cinco a -3.
  • myArray[:] = 30: cambia el valor de todos los elementos dentro de la matriz a 30 uno por uno.
  • myArray = 30: cambia el tipo de myArray de matriz a entero y establece su valor en 30.
  • newArray = myArray.copy(): crea una copia de myArray y la establece en newArray. Tenga en cuenta que si no utilizó el método .copy(), verá todos los cambios que ha realizado en newArray reflejándose también en myArray.

Declaremos una matriz como myMatrix = ( [5, 10, 15] , [1, 2, 3] , [0, 0, 0] ).

  • myMatrix[0]: Devuelve el elemento con el índice de fila 0, que es una matriz. Por lo tanto, devuelve [5, 10, 15].
  • myMatrix[0] [1]: Devuelve el elemento con el índice de columna 1 y el índice de fila 0, por lo que en este caso devuelve el valor 10.
  • myMatrix[0,1]: Devuelve el elemento con el índice de columna 1 y el índice de fila 0, por lo que en este caso devuelve el valor 10.
  • myMatrix[1, 1:]: toma la fila con el índice 1 como de costumbre, pero devuelve los elementos con los índices de columna a partir de 1 (incluido 1, ya que el empalme siempre funciona con Python), por lo que en este caso devuelve [2, 3].
  • myMatrix[ [0,1] ]: Devuelve el valor de los índices 0 y 1, por lo que en nuestro caso devuelve ([5, 10, 15], [1, 2, 3]).

Definamos una matriz myArray para trabajar como myArray = [ 5,10,15,20]

  • myArray > 10: Devuelve una matriz de verdadero y falso a juzgar por la condición, por lo que en nuestro caso devuelve [falso, falso, verdadero, verdadero]. Tenga en cuenta que tihs no cambia el valor original de myArray sino que crea un nuevo awway.
  • myArray [myArray > 10]: Devuelve una nueva matriz con los elementos que realmente siguen la condición como [15, 20].
  • myArray + myArray: Devuelve una matriz donde los valores se suman índice por índice y se colocan en el índice correspondiente, en nuestro caso devuelve [10, 20, 30, 40].
  • myArray — myArray: Devuelve una matriz donde los valores se restan índice por índice y se colocan en el índice correspondiente, en nuestro caso devuelve [0, 0, 0, 0].
  • myArray/myArray: Devuelve una matriz donde los valores se dividen índice por índice y se colocan en el índice correspondiente, en nuestro caso devuelve [1,1,1,1]. Tenga en cuenta que si hubiera un 0 en cualquier índice como valor, dado que un número no se puede dividir por 0, esto arrojaría una advertencia y devolvería nan para ese índice, pero dividiría los otros índices como de costumbre.
  • np.sqrt(myArray): Devuelve una matriz con la raíz cuadrada si cada valor está en el mismo índice. Entonces, si myArray fuera [25, 16, 36], la función devolvería [5, 4, 6].