Python Tutorial de NumPy para principiantes: aprenda con ejemplos
ยฟQuรฉ es NumPy en Python?
NumPy es una biblioteca de cรณdigo abierto disponible en Python, que ayuda en la programaciรณn matemรกtica, cientรญfica, de ingenierรญa y de ciencia de datos. Es una biblioteca muy รบtil para realizar operaciones matemรกticas y estadรญsticas en Python. Funciona perfectamente para matrices multidimensionales y multiplicaciรณn de matrices. Es fรกcil de integrar con C/C++ y Fortran.
Para cualquier proyecto cientรญfico, NumPy es la herramienta que hay que saber. Ha sido construido para trabajar con matrices N-dimensionales, รกlgebra lineal, nรบmeros aleatorios, transformada de Fourier, etc.
NumPy es un lenguaje de programaciรณn que trabaja con matrices y arreglos multidimensionales. Ademรกs de los arreglos y matrices, NumPy admite una gran cantidad de operaciones matemรกticas. En esta parte, repasaremos las funciones esenciales que necesita conocer para el tutorial sobre 'TensorFlow. "
ยฟPor quรฉ utilizar NumPy?
NumPy es eficiencia de memoria, lo que significa que puede manejar una gran cantidad de datos mรกs accesibles que cualquier otra biblioteca. Ademรกs, es muy conveniente trabajar con NumPy, especialmente para la multiplicaciรณn y remodelaciรณn de matrices. Ademรกs de eso, NumPy es rรกpido. De hecho, TensorFlow y Scikit aprenden a usar la matriz NumPy para calcular la multiplicaciรณn de matrices en el back-end.
Cรณmo instalar NumPy
Para instalar la biblioteca NumPy, consulte nuestro tutorial Cรณmo instalar TensorFlow. NumPy se instala de forma predeterminada con Anaconda.
En caso remoto, NumPy no estรก instalado.
Puedes instalar NumPy usando Anaconda:
conda install -c anaconda numpy
- In Jupyter Computadora portรกtil :
import sys
!conda install --yes --prefix {sys.prefix} numpy
Importar NumPy y verificar la versiรณn
El comando para importar numpy es:
import numpy as np
El cรณdigo anterior cambia el nombre del espacio de nombres Numpy a np. Esto nos permite anteponer la funciรณn, los mรฉtodos y los atributos de Numpy con "np" en lugar de escribir "numpy". Es el atajo estรกndar que encontrarรกs en la literatura numerosa.
Para verificar su versiรณn instalada de NumPy, use el siguiente comando:
print (np.__version__)
Salida:
1.18.0
ยฟQuรฉ es Python ยฟMatriz numรฉrica?
Los arreglos NumPy son un poco como Python listas, pero muy diferentes al mismo tiempo. Para aquellos que sois nuevos en el tema, aclaremos quรฉ es exactamente y para quรฉ sirve.
Como su nombre lo indica, una matriz NumPy es una estructura de datos central de la biblioteca numpy. El nombre de la biblioteca es en realidad la abreviatura de "Numeric Pythonโ o โNumรฉricos Python.
Creando una matriz NumPy
La forma mรกs sencilla de crear una matriz en Numpy es usar Python Lista
myPythonList = [1,9,8,3]
Para convertir la lista de Python en una matriz numpy utilizando el objeto np.array.
numpy_array_from_list = np.array(myPythonList)
Para mostrar el contenido de la lista
numpy_array_from_list
Salida:
array([1, 9, 8, 3])
En la prรกctica, no es necesario declarar una Python Lista. La operaciรณn se puede combinar.
a = np.array([1,9,8,3])
NOTA: La documentaciรณn de Numpy indica el uso de np.ndarray para crear una matriz. Sin embargo, este es el mรฉtodo recomendado.
Tambiรฉn puedes crear una matriz numpy a partir de una tupla.
Matemรกtico Operaciones en una matriz
Puede realizar operaciones matemรกticas como sumas, restas, divisiones y multiplicaciones en una matriz. La sintaxis es el nombre de la matriz seguido de la operaciรณn (+.-,*,/) seguido del operando.
Ejemplo:
numpy_array_from_list + 10
Salida:
array([11, 19, 18, 13])
Esta operaciรณn agrega 10 a cada elemento de la matriz numpy.
Forma de matriz
Puede verificar la forma de la matriz con la forma del objeto precedida por el nombre de la matriz. De la misma manera, puedes verificar el tipo con dtypes.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Un nรบmero entero es un valor sin decimal. Si crea una matriz con decimal, entonces el tipo cambiarรก a flotante.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
Matriz de 2 dimensiones
Puede agregar una dimensiรณn con una ", coma"
Tenga en cuenta que tiene que estar dentro del corchete []
### 2 dimension
c = np.array([(1,2,3),
(4,5,6)])
print(c.shape)
(2, 3)
Matriz de 3 dimensiones
La dimensiรณn superior se puede construir de la siguiente manera:
### 3 dimension
d = np.array([
[[1, 2,3],
[4, 5, 6]],
[[7, 8,9],
[10, 11, 12]]
])
print(d.shape)
(2, 2, 3)
| Objetivo | Cรณdigo |
|---|---|
| Crear matriz | matriz([1,2,3]) |
| imprimir la forma | matriz([.]).forma |
ยฟQuรฉ es numpy.zeros()?
numpy.zeros () o np.zeros Python La funciรณn se utiliza para crear una matriz llena de ceros. numpy.zeros() en Python se puede utilizar cuando inicializa los pesos durante la primera iteraciรณn en TensorFlow y otras tareas estadรญsticas.
Sintaxis de la funciรณn numpy.zeros()
numpy.zeros(shape, dtype=float, order='C')
Python numpy.zeros() Parรกmetros
Aquรญ,
- Forma: es la forma de la matriz numรฉrica de ceros
- Tipo D: es el tipo de datos en numerosos ceros. Es opcional. El valor predeterminado es float64
- Pedido: El valor predeterminado es C, que es un estilo de fila esencial para numpy.zeros() en Python.
Python numpy.zeros() Ejemplo
import numpy as np np.zeros((2,2))
Salida:
array([[0., 0.],
[0., 0.]])
Ejemplo de cero numeroso con tipo de datos
import numpy as np np.zeros((2,2), dtype=np.int16)
Salida:
array([[0, 0],
[0, 0]], dtype=int16)
ยฟQuรฉ es numpy.ones()?
funciรณn np.ones() se utiliza para crear una matriz llena de unos. numpy.ones() en Python se puede utilizar cuando inicializa los pesos durante la primera iteraciรณn en TensorFlow y otras tareas estadรญsticas.
Python numpy.ones() Sintaxis
numpy.ones(shape, dtype=float, order='C')
Python numpy.ones() Parรกmetros
Aquรญ,
- Forma: es la forma de los np.ones Python Formaciรณn
- Tipo D: es el tipo de datos en numpy. Es opcional. El valor predeterminado es float64
- Pedido: El valor predeterminado es C, que es un estilo de fila esencial.
Python numpy.ones() Matriz 2D con ejemplo de tipo de datos
import numpy as np np.ones((1,2,3), dtype=np.int16)
Salida:
array([[[1, 1, 1],
[1, 1, 1]]], dtype=int16)
funciรณn numpy.reshape() en Python
Python Reformar NumPy La funciรณn se utiliza para dar forma a una matriz sin cambiar sus datos. En algunas ocasiones, es posible que necesites cambiar la forma de los datos de ancho a largo. Puede utilizar la funciรณn np.reshape para esto.
Sintaxis de np.reshape()
numpy.reshape(a, newShape, order='C')
Aquรญ,
a: Matriz que desea remodelar
nueva forma: Los nuevos deseos dan forma
Pedido: El valor predeterminado es C, que es un estilo de fila esencial.
Ejemplo de remodelaciรณn de NumPy
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
Salida:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.aplanar() en Python
Python Aplanar NumPy La funciรณn se utiliza para devolver una copia de la matriz en una dimensiรณn. Cuando trabajas con alguna red neuronal como convnet, necesitas aplanar la matriz. Puede utilizar las funciones np.flatten() para esto.
Sintaxis de np.flatten()
numpy.flatten(order='C')
Aquรญ,
Pedido: El valor predeterminado es C, que es un estilo de fila esencial.
Ejemplo de aplanamiento NumPy
e.flatten()
Salida:
array([1, 2, 3, 4, 5, 6])
ยฟQuรฉ es numpy.hstack() en Python?
Numpy.hstack es una funciรณn en Python que se utiliza para apilar horizontalmente secuencias de matrices de entrada para crear una รบnica matriz. Con la funciรณn hstack(), puede agregar datos horizontalmente. Es una funciรณn muy conveniente en NumPy.
Estudiemos hstack en Python con un ejemplo:
Ejemplo:
## Horitzontal Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Horizontal Append:', np.hstack((f, g)))
Salida:
Horizontal Append: [1 2 3 4 5 6]
ยฟQuรฉ es numpy.vstack() en Python?
Numpy.vstack es una funciรณn en Python que se utiliza para apilar verticalmente secuencias de matrices de entrada para crear una รบnica matriz. Con la funciรณn vstack(), puede agregar datos verticalmente.
Estudiรฉmoslo con un ejemplo:
Ejemplo:
## Vertical Stack
import numpy as np
f = np.array([1,2,3])
g = np.array([4,5,6])
print('Vertical Append:', np.vstack((f, g)))
Salida:
Vertical Append: [[1 2 3] [4 5 6]]
Despuรฉs de estudiar NumPy vstack y hstack, aprendamos un ejemplo para generar nรบmeros aleatorios en NumPy.
Generar aleatorio Numbers usando NumPy
Para generar nรบmeros aleatorios para la distribuciรณn gaussiana, utilice:
numpy.random.normal(loc, scale, size)
Aquรญ,
- Loc: el significado. El centro de distribuciรณn.
- SCALE: desviaciรณn estรกndar.
- Tamaรฑo: nรบmero de devoluciones
Ejemplo:
## Generate random nmber from normal distribution normal_array = np.random.normal(5, 0.5, 10) print(normal_array) [5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Si se grafica la distribuciรณn serรก similar al siguiente grรกfico

Funciรณn NumPy Asarray
La funciรณn asarray() se utiliza cuando desea convertir una entrada en una matriz. La entrada podrรญa ser listas, tuplas, ndarray, etc.
Sintaxis:
numpy.asarray(data, dtype=None, order=None)[source]
Aquรญ,
en: Datos que desea convertir en una matriz
dtype: Este es un argumento opcional. Si no se especifica, el tipo de datos se infiere de los datos de entrada.
Pedido: El valor predeterminado es C, que es un estilo de fila esencial. Otra opciรณn es F (estilo Fortan)
Ejemplo:
Considere la siguiente matriz 2-D con cuatro filas y cuatro columnas rellenas con 1
import numpy as np A = np.matrix(np.ones((4,4)))
Si desea cambiar el valor de la matriz, no puede. El motivo es que no es posible cambiar una copia.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
La matriz es inmutable. Puede utilizar asarray si desea agregar modificaciones en la matriz original. A ver si se produce algรบn cambio cuando quieras cambiar el valor de las terceras filas con el valor 2.
np.asarray(A)[2]=2 print(A)
Explicaciรณn del cรณdigo:
np.asarray(A): convierte la matriz A en una matriz
[2]: seleccione la tercera fila
Salida:
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[2. 2. 2. 2.] # new value
[1. 1. 1. 1.]]
ยฟQuรฉ es numpy.arange()?
numpy.arange() es una funciรณn numpy incorporada que devuelve un objeto ndarray que contiene valores espaciados uniformemente dentro de un intervalo definido. Por ejemplo, desea crear valores del 1 al 10; puedes usar np.arange() en Python funciรณn.
Sintaxis:
numpy.arange(start, stop, step, dtype)
Python Parรกmetros de rango NumPy:
- Contรกctenos: Inicio del intervalo para np.arange en Python funciรณn.
- Parada: Fin del intervalo.
- Paso: Espaciado entre valores. El paso predeterminado es 1.
- Tipo D: Es un tipo de salida de matriz para NumPy arange en Python.
Ejemplo:
import numpy np np.arange(1, 11)
Salida:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Ejemplo:
Si desea cambiar el paso en esta funciรณn de rango NumPy en Python Por ejemplo, puede agregar un tercer nรบmero entre parรฉntesis. Cambiarรก el paso.
import numpy np np.arange(1, 14, 4)
Salida:
array([ 1, 5, 9, 13])
Funciรณn NumPy Linspace
Linspace proporciona muestras espaciadas uniformemente.
Sintaxis:
numpy.linspace(start, stop, num, endpoint)
Aquรญ,
- Contรกctenos: Valor inicial de la secuencia
- Parada: Valor final de la secuencia
- num: Nรบmero de muestras a generar. El valor predeterminado es 50
- Punto final: Si es Verdadero (predeterminado), detener es el รบltimo valor. Si es falso, el valor de parada no se incluye.
Ejemplo:
Por ejemplo, se puede utilizar para crear 10 valores del 1 al 5 espaciados uniformemente.
import numpy as np np.linspace(1.0, 5.0, num=10)
Salida:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Si no desea incluir el รบltimo dรญgito en el intervalo, puede configurar el punto final en falso
np.linspace(1.0, 5.0, num=5, endpoint=False)
Salida:
array([1. , 1.8, 2.6, 3.4, 4.2])
Funciรณn LogSpace NumPy en Python
LogSpace devuelve nรบmeros con espacios pares en una escala logarรญtmica. Logspace tiene los mismos parรกmetros que np.linspace.
Sintaxis:
numpy.logspace(start, stop, num, endpoint)
Ejemplo:
np.logspace(3.0, 4.0, num=4)
Salida:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Finalmente, si desea verificar el tamaรฑo de la memoria de un elemento en una matriz, puede usar itemize
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
Salida:
16
Cada elemento ocupa 16 bytes.
Indexaciรณn y corte Python
Cortar datos es trivial con numpy. Cortaremos la matriz โeโ. Tenga en cuenta que, en Python, necesitas usar los corchetes para devolver las filas o columnas
Ejemplo:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Recuerde que con numpy la primera matriz/columna comienza en 0.
## First column
print('First row:', e[0])
## Second col
print('Second row:', e[1])
Salida:
First row: [1 2 3] Second row: [4 5 6]
In Python, como muchos otros idiomas,
- Los valores antes de la coma representan las filas.
- El valor de los derechos representa las columnas.
- Si desea seleccionar una columna, debe agregar: antes del รญndice de la columna.
- : significa que desea todas las filas de la columna seleccionada.
print('Second column:', e[:,1])
Second column: [2 5]
Para devolver los dos primeros valores de la segunda fila. Usas : para seleccionar todas las columnas hasta la segunda
## Second Row, two values print(e[1, :2]) [4 5]
Funciones estadรญsticas en Python
NumPy tiene bastantes funciones estadรญsticas รบtiles para encontrar la desviaciรณn estรกndar y la varianza percentil mรญnima, mรกxima, etc. de los elementos dados en la matriz. Las funciones se explican a continuaciรณn:
Numpy estรก equipado con la sรณlida funciรณn estadรญstica que se detalla a continuaciรณn
| Funciรณn | Numpy |
|---|---|
| Min | np.min() |
| Max | np.max() |
| Media | np.media() |
| Mediana | np.mediana() |
| Desviaciรณn estรกndar | np.std() |
Considere la siguiente matriz:
Ejemplo:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
Salida:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Ejemplo de funciรณn estadรญstica NumPy
### Min print(np.min(normal_array)) ### Max print(np.max(normal_array)) ### Mean print(np.mean(normal_array)) ### Median print(np.median(normal_array)) ### Sd print(np.std(normal_array))
Salida:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
ยฟQuรฉ es el producto escalar numpy?
producto numpy.dot es una poderosa biblioteca para cรกlculo matricial. Por ejemplo, puede calcular el producto escalar con np.dot. El producto Numpy.dot es el producto escalar de a y b. numpy.punto() en Python maneja las matrices 2D y realiza multiplicaciones de matrices.
Sintaxis:
numpy.dot(x, y, out=None)
Parรกmetros
Aquรญ,
x, y: matrices de entrada. x e y deben ser 1-D o 2-D para que funcione la funciรณn np.dot()
out: Este es el argumento de salida para el escalar de matriz 1-D que se devolverรก. De lo contrario, se debe devolver ndarray.
Devoluciones
La funciรณn numpy.dot() en Python devuelve un producto escalar de dos matrices x e y. La funciรณn dot() devuelve un escalar si tanto x como y son unidimensionales; de lo contrario, devuelve una matriz. Si se proporciona 'out', se devuelve.
Eleva
Producto escalar en Python genera una excepciรณn ValueError si la รบltima dimensiรณn de x no tiene el mismo tamaรฑo que la penรบltima dimensiรณn de y.
Ejemplo:
## Linear algebra ### Dot product: product of two arrays f = np.array([1,2]) g = np.array([4,5]) ### 1*4+2*5 np.dot(f, g)
Salida:
14
Multiplicaciรณn de matrices en Python
La funciรณn Numpy matmul() se utiliza para devolver el producto matricial de 2 matrices. Asรญ es como funciona
1) matrices 2-D, devuelve un producto normal
2) Dimensiones > 2, el producto se trata como una pila de matriz
3) La matriz 1-D primero se convierte en una matriz y luego se calcula el producto.
Sintaxis:
numpy.matmul(x, y, out=None)
Aquรญ,
x, y: matrices de entrada. escalares no permitidos
out: Este es un parรกmetro opcional. Generalmente la salida se almacena en ndarray.
Ejemplo:
De la misma manera, puedes calcular la multiplicaciรณn de matrices con np.matmul
### Matmul: matruc product of two arrays h = [[1,2],[3,4]] i = [[5,6],[7,8]] ### 1*5+2*7 = 19 np.matmul(h, i)
Salida:
array([[19, 22],
[43, 50]])
Determinante
Por รบltimo, pero no menos importante, si necesita calcular el determinante, puede usar np.linalg.det(). Tenga en cuenta que numpy se encarga de la dimensiรณn.
Ejemplo:
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
Salida:
-2.000000000000005
Resumen
- Python es una biblioteca de cรณdigo abierto disponible en Python, que ayuda en matemรกticas, ciencias, ingenierรญa y programaciรณn de ciencia de datos.
- numpy.zeros() o np.zeros Python La funciรณn se utiliza para crear una matriz llena de ceros.
- numpy.ones() en Python se puede utilizar cuando inicializa los pesos durante la primera iteraciรณn en TensorFlow y otras tareas estadรญsticas.
- Python La funciรณn NumPy Reshape se utiliza para dar forma a una matriz sin cambiar sus datos.
- Python La funciรณn NumPy Flatten se utiliza para devolver una copia de la matriz en una dimensiรณn.
- Numpy.hstack es una funciรณn en Python que se utiliza para apilar horizontalmente secuencias de matrices de entrada para crear una รบnica matriz.
- Numpy.vstack es una funciรณn en Python que se utiliza para apilar verticalmente secuencias de matrices de entrada para crear una รบnica matriz.
- numpy.arange() es una funciรณn numpy incorporada que devuelve un objeto ndarray que contiene valores espaciados uniformemente dentro de un intervalo definido.
- El producto Numpy.dot es una poderosa biblioteca para cรกlculo matricial.
- La funciรณn Numpy matmul() se utiliza para devolver el producto matricial de 2 matrices.
