Numpy básico: Creación de un Array de Numpy a partir de una listas o tuplas

Publicado el 04 septiembre 2019 por Daniel Rodríguez @analyticslane

En esta entrada se mostrará una de las tareas básicas a la hora de trabajar con Numpy: la creación de un Array de Numpy a partir de otro tipo de objetos. La tarea se puede llevar a cabo utilizando la función np.array() que se proporciona la librería Numpy.

Uno básico de la función np.array()

La función np.array() permite crear Array de Numpy a partir de otras estructura de Python como son las listas o tuplas. Para ellos solamente es necesario llamar a la función, después de importar la librería Numpy, pasándole como argumento el objeto que se desea convertir. Así para transformar una lista se puede utilizar simplemente:

import numpy as np

np_array = np.array((1,2,3,4,5))
np_array
array([1, 2, 3, 4, 5])

Por otro lado, para crear un Array de Numpy a partir de una tupla se puede proceder de forma análoga, solamente cambiando la lista por la tupla.

np_array = np.array([1,2,3,4,5])
np_array
array([1, 2, 3, 4, 5])

En ambos casos se puede comprobar que el tipo de datos que se obtiene es un Array de Numpy. Para lo que se utiliza la función type.

type(np_array)
numpy.ndarray

El tipo de dato de los elementos de los Array de Numpy

Para conocer el tipo de dato de los elementos de los Array de Numpy se puede utilizar la propiedad dtype de estos objetos que devuelve el valor. Así en el ejemplo anterio se puede comprobar que el tipo de dato es entero.

np_array.dtype
dtype('int64')

Esto es así porque la función infiere el tipo de dato de los valores de entrada. Siendo en este ejemplo todos de tipo entero. En el caso de que uno solo de los datos fuese de tipo real, la función crearía un objeto de reales en lugar de enteros. Lo que se muestra en el siguiente ejemplo.

np_array = np.array((1.,2,3,4,5))
np_array.dtype
dtype('float64')

Aunque el tipo siempre se puede indicar mediante la opción dtype de la función np.array(). Los tipos tiene que ser uno de los disponibles en Numpy, siendo necesario utilizar los valores que existen en la librería. Para comprobar los tipos solamente se tiene que escribir np. y comprobar las opciones disponibles. Por ejemplo, se puede indicar que los datos son reales de 32 bits en lugar de enteros.

np_array = np.array((1,2,3,4,5), dtype=np.float32)
np_array.dtype
dtype('float32')

Creación de un Array de Numpy bidimensional

La forma más fácil para crear un Array de Numpy bidimensional, es decir, una matriz de dos dimensiones, es pasando una lista de listas a la función np.array(). Cada una de las listas ha de tener el mismo número de elementos y convirtiéndose cada uno de estos en una fila de la matriz.

np_array = np.array([[1,2],[3,4]])
np_array
array([[1, 2],
       [3, 4]])

Si el número de elementos de cada una de las listas es diferente la función no dará un error, simplemente no creará una matriz sino un objeto con dos listas. por lo que es necesario tener cuidado a la hora de crear estos objetos.

Las matrices también se pueden crear a partir de una lista o tupla. Para ello es necesario crear inicialmente el Array de Numpy y posteriormente modificar las dimensiones mediante el método reshape() de los objetos ndarray. Por ejemplo, para crear una matriz de tres por tres a partir de una lista de 9 elementos se puede utilizar.

np_array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]).reshape(3,3)
np_array
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

Conclusiones

Se ha visto una de las tareas básicas que se pueden realizar con Numpy: la creación de un Array de Numpy. Saber cómo crear estos objetos es básico para, más adelante, poder utilizar otras herramientas avanzadas de esta librería.

Imágenes: Pixabay (Marit Welker)

No te olvides valorar esta entrada

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones de Analytics Lane.

Contenido relacionado