Saltar al contenido

Diferentes formas de crear matrices numéricas

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.

Diferentes formas de crear matrices numéricas
Diferentes formas de crear matrices numéricas
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.])