12 operaciones NumPy para principiantes

NumPy, que significa Numerical Python, es una biblioteca de Python que se utiliza principalmente para trabajar con matrices y realizar una amplia variedad de operaciones matemáticas en ellas. Es la biblioteca central para la computación científica en Python. NumPy se usa a menudo con otras bibliotecas de Python relacionadas con la ciencia de datos, como SciPy, Pandas y Matplotlib.

En este artículo, aprenderá a realizar 12 operaciones básicas con NumPy.

Uso de estos ejemplos de NumPy

Puede ejecutar los ejemplos de este artículo ingresando el código directamente en el intérprete de Python. Ejecútelo en modo interactivo, desde la línea de comandos, para hacerlo.

También puede acceder a un archivo Python Notebook que contiene el código fuente completo de este repositorio de GitHub .

1. Cómo importar NumPy como np e imprimir el número de versión

Es necesario utilizar la palabra clave de importación para importar cualquier biblioteca de Python. Normalmente, NumPy se importa con el alias np . Con este enfoque, puede hacer referencia al paquete NumPy como np en lugar de numpy .

 import numpy as np
print(np.__version__)

Producción:

 1.20.1

2. Cómo crear un objeto ndarray de NumPy

El objeto de matriz en NumPy se llama ndarray . Puede crear el objeto ndarray NumPy utilizando el método array () . El método array () acepta una lista, tupla o un objeto similar a una matriz.

Usar una tupla para crear una matriz NumPy

 arrObj = np.array((23, 32, 65, 85))
arrObj

Producción:

 array([23, 32, 65, 85])

Usar una lista para crear una matriz NumPy

 arrObj = np.array([43, 23, 75, 15])
arrObj

Producción:

 array([43, 23, 75, 15])

3. Cómo crear matrices numéricas 0D, 1D, 2D, 3D y N-Dimensional

Matrices 0D

Cada elemento de una matriz es una matriz 0D.

 arrObj = np.array(21)
arrObj

Producción:

 array(21)

Matrices 1D

Las matrices que tienen matrices 0D como sus elementos se denominan matrices 1D.

 arrObj = np.array([43, 23, 75, 15])
arrObj

Producción:

 array([43, 23, 75, 15])

Matrices 2D

Las matrices que tienen matrices 1D como elementos se denominan matrices 2D.

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj

Producción:

 array([[12, 43, 21],
[67, 32, 98]])

Matrices 3D

Las matrices que tienen matrices 2D (matrices) como sus elementos se denominan matrices 3D.

 arrObj = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
arrObj

Producción:

 array([[[23, 45, 22],
[45, 76, 23]],

[[67, 23, 56],
[12, 76, 63]]])

Matrices n-dimensionales

Puede crear una matriz de cualquier dimensión utilizando el argumento ndmin .

 arrObj = np.array([23, 22, 65, 44], ndmin=5)
arrObj

Producción:

 array([[[[[23, 22, 65, 44]]]]])

4. Cómo comprobar las dimensiones de una matriz

Puede encontrar las dimensiones de una matriz utilizando el atributo ndim .

 arrObj1 = np.array(21)
arrObj2 = np.array([43, 23, 75, 15])
arrObj3 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj4 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1.ndim)
print(arrObj2.ndim)
print(arrObj3.ndim)
print(arrObj4.ndim)

Producción:

 0
1
2
3

5. Cómo acceder a los elementos de matrices 1D, 2D y 3D

Puede acceder a un elemento de matriz utilizando su número de índice. Para matrices 2D y 3D, debe utilizar números enteros separados por comas que representen el índice de cada dimensión.

 arrObj1 = np.array([43, 23, 75, 15])
arrObj2 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj3 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1[2])
print(arrObj2[0, 2])
print(arrObj3[0, 1, 2])

Producción:

 75
21
23

Nota : Las matrices NumPy también admiten la indexación negativa.

Relacionado: Por qué Python es el lenguaje de programación del futuro

6. Cómo comprobar el tipo de datos del objeto de matriz NumPy

Puede verificar el tipo de datos del objeto de matriz NumPy usando la propiedad dtype .

 arrObj1 = np.array([1, 2, 3, 4])
arrObj2 = np.array([1.3, 6.8, 3.5, 9.2])
arrObj3 = np.array(['Welcome', 'to', 'MUO'])
print(arrObj1.dtype)
print(arrObj2.dtype)
print(arrObj3.dtype)

Producción:

 int32
float64
<U7

Nota :

NumPy usa los siguientes caracteres para representar los tipos de datos integrados:

  • i – entero (con signo)
  • b – booleano
  • O – objeto
  • S – cuerda
  • u – entero sin signo
  • f – flotar
  • c – flotador complejo
  • m – timedelta
  • M – fecha y hora
  • U – cadena Unicode
  • V – datos brutos (nulo)

7. Cómo cambiar el tipo de datos de una matriz NumPy

Puede cambiar el tipo de datos de una matriz NumPy utilizando el método astype (data_type) . Este método acepta el tipo de datos como parámetro y crea una nueva copia de la matriz. Puede especificar el tipo de datos utilizando caracteres como 'b' para booleano, 'i' para entero, 'f' para flotante, etc.

Conversión de una matriz de enteros en una matriz flotante

 arrObj = np.array([43, 23, 75, 15])
floatArr = arrObj.astype('f')
floatArr

Producción:

 array([43., 23., 75., 15.], dtype=float32)

Conversión de una matriz flotante en una matriz de enteros

 arrObj = np.array([1.3, 6.8, 3.5, 9.2])
intArr = arrObj.astype('i')
intArr

Producción:

 array([1, 6, 3, 9], dtype=int32)

Relacionado: Ideas de proyectos de Python adecuadas para principiantes

8. Cómo copiar una matriz NumPy en otra matriz

Puede copiar una matriz NumPy en otra matriz usando la función np.copy () . Esta función devuelve una copia de matriz del objeto dado.

 oldArr = np.array([43, 23, 75, 15])
newArr = np.copy(oldArr)
newArr

Producción:

 array([43, 23, 75, 15])

9. Cómo encontrar la forma de una matriz NumPy

La forma de una matriz se refiere al número de elementos en cada dimensión. Puede encontrar la forma de una matriz utilizando el atributo de forma . Devuelve una tupla cuyos elementos dan las longitudes de las dimensiones de la matriz correspondiente.

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj.shape

Producción:

 (2, 3)

Relacionado: Cómo construir API en Python: Frameworks más populares

10. Cómo remodelar una matriz NumPy

Reformar una matriz significa cambiar su forma. Tenga en cuenta que no puede remodelar una matriz a una forma arbitraria. El número de elementos necesarios para remodelar debe ser el mismo en ambas formas.

 arrObj = np.array([43, 23, 75, 15, 34, 45])
reshapedArr = arrObj.reshape(2, 3)
reshapedArr

Producción:

 array([[43, 23, 75],
[15, 34, 45]])

En el ejemplo anterior, una matriz 1D se transforma en una matriz 2D.

11. Cómo aplanar una matriz NumPy

Aplanar una matriz significa convertir una matriz multidimensional en una matriz 1D. Puede aplanar una matriz usando reshape (-1) .

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
flattenedArr = arrObj.reshape(-1)
flattenedArr

Producción:

 array([12, 43, 21, 67, 32, 98])

Nota : También puede aplanar una matriz utilizando otros métodos como numpy.ndarray.flatten () y numpy.ravel () .

12. Cómo ordenar una matriz NumPy

Puede ordenar una matriz NumPy usando la función numpy.sort () .

Ordenar matriz 1D de enteros

 arrObj = np.array([43, 23, 75, 15])
np.sort(arrObj)

Producción:

 array([15, 23, 43, 75])

Ordenar una matriz de cadenas 1D

 arrObj = np.array(["Python", "JavaScript", "Solidity", "Golang"])
np.sort(arrObj)

Producción:

 array(['Golang', 'JavaScript', 'Python', 'Solidity'], dtype='<U10')

Ordenar matriz 2D de enteros

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
np.sort(arrObj)

Producción:

 array([[12, 21, 43], [32, 67, 98]])

Haga que su código sea robusto usando métodos y funciones integrados

Python es uno de los lenguajes de programación más populares. Se utiliza en varios dominios como desarrollo web, aplicaciones científicas y numéricas, desarrollo de software y desarrollo de juegos. Siempre es bueno conocer los métodos y funciones integrados en Python. Pueden acortar su código y aumentar su eficiencia.