Categories: Python

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

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)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: NumPy

Recent Posts

Síndrome del objeto brillante en ciencia de datos: el error simétrico a los costes hundidos

Hace poco publiqué una entrada en la que trataba de un sesgo bien documentado: aferrarse…

4 días ago

De la Regresión Logística al Scorecard: La Transformación Matemática

En un entrada previa explicamos qué son el WOE y el IV y por qué…

6 días ago

Analytics Lane lanza la versión 1.1 del laboratorio con nuevas suites de CLV y Scoring

Seguimos evolucionando el laboratorio de Analytics Lane y hoy lanzamos la versión 1.1, disponible en:…

7 días ago

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

2 semanas ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

2 semanas ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

3 semanas ago

This website uses cookies.