Revista Informática

Numpy básico: inicialización de arrays en Numpy

Publicado el 09 octubre 2019 por Daniel Rodríguez @analyticslane

En esta entrada se va a ver como hacer una tarea básica, la inicialización de arrays en Numpy con diferentes valores. Una tarea que puede ser tediosa si no se conocen y utilizan las herramientas que provee Numpy para ello. Además, estas son operaciones necesarias antes de comenzar con diferentes análisis de datos.

Inicialización de arrays con ceros con np.zeros()

Numpy dispone de una función con la que se pueden crear arrays de un tamaño dado inicializados con ceros. Esta función es np.zeros() y tiene la siguiente forma:

np.zeros(shape, dtype=float, order='C')

donde

  • shape: son las dimensiones del array Numpy que se desea construir. Si es un escalar creará un vector, mientras si se indica una tupla se obtendrá una matriz.
  • dtype: es un parámetro opcional en el que se indica el tipo de dato. Por defecto se utiliza el tipo de dato float.
  • order: es un parámetro opcional con el que se indica como se llenarán las matrices: F primero las filas o C primero las columnas. Siendo el valor por defecto C.

Así para crear una vector de 3 elementos con ceros se puede escribir.

import numpy as np

np.zeros(3)
array([0., 0., 0.])

Por otro lado, si lo que se desea es crear una matriz de ceros de 3 por 2 simplemente se tiene que escribir la siguiente línea de código.

np.zeros((3, 2))
array([[0., 0.],
       [0., 0.],
       [0., 0.]])

En este caso a la función se la ha pasado una tupla con las dimensiones de la matriz, por lo que el resultado es el esperado: una matriz.

Inicialización de arrays con unos con np.ones()

En otros casos puede ser que sea necesario crear matrices con ceros. En este caso la función que hay que utilizar es np.ones(), la que se utiliza igual que np.zeros(). Así para crear un vector de unos es necesario escribir algo como

np.ones(3)
array([1., 1., 1.])

Por otro lado, cuando se desea crear una matriz se tiene que escribir algo como.

np.ones((3, 2))
array([[1., 1.],
       [1., 1.],
       [1., 1.]])

Inicialización de arrays con otros valores

En muchas ocasiones puede que el valor por defecto con el que sea necesario inicializar los arrays no es ni cero ni uno. En tal caso se puede utilizar el método np.ones() para crear un array de unos y multiplicar este por el valor deseado. Por ejemplo, un array de 3 se puede obtener mediante.

np.ones(3) * 3
array([3., 3., 3.])

Conclusiones

En esta entrada se ha visto un par de funciones de Numpy con las que se simplificar el trabajo de crear arrays con un valor por defecto. np.zeros() para la creación de ceros y np.ones() para unos. La inicialización de arrays en Numpy con diferentes valores es una tarea habitual que se simplifica mucho con estas funciones. Siendo más estas funciones sencillas para la tarea que la creación se arrays similares a partir de listas o tuplas.

Imágenes: Pixabay (Marit Welker)


Volver a la Portada de Logo Paperblog