Numpy tiene funciones incorporadas para crear matrices. Cubriremos algunas de ellas en esta guía.
Creando un conjunto unidimensional
En primer lugar, vamos a crear una matriz unidimensional o una matriz con un rango 1. La matriz es una función ampliamente utilizada para crear rápidamente una matriz. Pasando un valor de 20 a la función arange se crea una matriz con valores que van de 0 a 19.
123import Numpy as nparray = np.arange(20)array
pitón
Salida:
1234array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
Para verificar la dimensionalidad de esta matriz, use la propiedad de la forma .
1array.shape
pitón
Salida:
1(20,)
Como no hay valor después de la coma, se trata de un conjunto unidimensional. Para acceder a un valor de esta matriz, especifique un índice no negativo. Como en otros lenguajes de programación, el índice comienza desde cero. Así que para acceder al cuarto elemento de la matriz, use el índice 3.
1array[3]
pitón
Salida:
13
Las matrices numéricas son mutables, lo que significa que se puede cambiar el valor de un elemento de la matriz después de que se haya inicializado una matriz. Utilice la función de impresión para ver el contenido de la matriz.
12array[3]=100print(array)
pitón
Salida:
12345[ 0 1 2 100 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
A diferencia de las listas de Python, el contenido de una matriz de Numpy es homogéneo. Así que si intentas asignar un valor de cadena a un elemento de una matriz, cuyo tipo de datos es int , obtendrás un error.
1array[3]=$0027Numpy$0027
pitón
Salida:
1ValueError: literal inválido para int() con base 10: $0027Numpy$0027
Creando un conjunto bidimensional
Hablemos de la creación de una matriz bidimensional. Si sólo usas la función de arange, producirá una matriz unidimensional. Para hacer un conjunto bidimensional, encadena su salida con la función reshape.
12array = np.arange(20).reshape(4,5)array
pitón
Salida:
1234array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19]])
Primero se crearán 20 números enteros y luego se convertirá la matriz en una matriz bidimensional con 4 filas y 5 columnas. Comprobemos la dimensionalidad de esta matriz.
1array.shape
pitón
Salida:
1(4, 5)
Como obtenemos dos valores, esto es un conjunto bidimensional. Para acceder a un elemento de un conjunto bidimensional, hay que especificar un índice tanto para la fila como para la columna.
1array[3][4]
pitón
Salida:
119
Creando un conjunto tridimensional y más allá
Para crear un arreglo tridimensional, especifique 3 parámetros para la función de remodelación.
12array = np.arange(27).reshape(3,3,3)array
pitón
Salida:
1234567891011array([[[[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8]]], [[ 9, 10, 11], [12, 13, 14], [15, 16, 17]]], [[18, 19, 20], [21, 22, 23], [24, 25, 26]]])
Sólo una advertencia: El número de elementos en la matriz (27) debe ser el producto de sus dimensiones (3*3*3). Para comprobar si se trata de un conjunto tridimensional, se puede utilizar la propiedad de forma.
1array.shape
pitón
Salida:
1(3, 3, 3)
Además, usando la función arange, se puede crear un arreglo con una secuencia particular entre un valor de inicio y final definido
1np.arange(10,35,3)
pitón
Salida:
1array([10, 13, 16, 19, 22, 25, 28, 31, 34])
Uso de otras funciones Numpy
Además de la función de rango, también puede utilizar otras funciones útiles como las de ceros y unos para crear y poblar rápidamente un rango.
Utiliza la función de ceros para crear una matriz llena de ceros. Los parámetros de la función representan el número de filas y columnas (o sus dimensiones).
1np.ceros((2,4))
pitón
Salida:
12array([[0., 0., 0., 0.], [0., 0., 0., 0.]])
Usa la función de los unos para crear una matriz llena de unos.
1np.ones((3,4))
pitón
Salida:
123array([[1., 1., 1., 1.], [1., 1., 1., 1.], [1., 1., 1., 1.]])
La función de vacío crea una matriz. Su contenido inicial es aleatorio y depende del estado de la memoria.
1np.empty((2,3))
pitón
Salida:
12array([[0.65670626, 0.52097334, 0.99831087], [0.07280136, 0.4416958 , 0.06185705]])
La función completa crea una matriz n * n llena con el valor dado.
1np.full((2,2),3)
pitón
Salida:
12array([[3, 3], [3, 3]])
La función del ojo permite crear una matriz n * n con la diagonal 1s y las otras 0.
1np.eye(3,3)
pitón
Salida:
123array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
La función espacio de línea devuelve números espaciados uniformemente en un intervalo especificado. Por ejemplo, la siguiente función devuelve cuatro números espaciados uniformemente entre el intervalo 0 y 10.
1np.linspace(0,10, num=4)
pitón
Salida:
1array([ 0., 3.33333333, 6.66666667, 10.])