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.
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)
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)
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.