Python

Numpy básico: inicializar arrays de Numpy con un valor

En algunas situaciones puede ser necesario inicializar un array o matriz de Numpy de tamaño arbitrario con un mismo valor. Para lo que se puede utilizar el método np.full(). Un método relativamente desconocido pero que puede ser de gran utilidad cuando se necesario inicializar arrays de Numpy con un valor dado.

El método np.full()

La forma de llamar el método np.full() con el que se pueden crear nuevos elementos inicializados con un valor dado es:

np.full(shape, fill_value, dtype=None)

en donde

  • shape: forma de la nueva matriz.
  • fill_value: valor de inicialización.
  • dtype: valor opcional con el tipo de dato.

El método devuelve un nuevo objeto de tamaño shape en el que todos sus elementos tienen el valor indicado en fill_value.

Crear un array Numpy

La forma básica se usar np.full() es para crear un nuevo array de una cierta longitud y con un valor. Por ejemplo, se puede crear un vector de longitud 5 con 0 simplemente utilizando la siguiente línea.

import numpy as np

np.full(5, 0)
array([0, 0, 0, 0, 0])

Para crear uno inicializado con el valor 10 simplemente se tiene que cambiar el segundo parámetro.

np.full(5, 10)
array([10, 10, 10, 10, 10])

Crear una matriz Numpy

Si lo que se necesita es crear una nueva matriz es necesario pasar como primer parámetro una tupla con las dimisiones de la matriz. El segundo parámetro continúa siendo un valor. Por ejemplo, para crear una matriz de 3 por 2 inicializada con 0 se puede escribir:

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

Por otro lado, si lo que se desea es una matriz de cuadrada de tamaño 4 inicializada con 10 se puede obtener con:

np.full((4, 4), 10)
array([[10, 10, 10, 10],
       [10, 10, 10, 10],
       [10, 10, 10, 10],
       [10, 10, 10, 10]])

Crear objetos de tres o más dimisiones

El método np.full() también se puede utilizar para crear elementos de tres o más dimensiones. Para lo que la tupla que se pasa como primer parámetro solamente debe tener tres o más elementos. Una matriz de tres dimensiones se puede obtener simplemente con una línea como la siguiente

np.full((2, 3, 4), 5)
array([[[5, 5, 5, 5],
        [5, 5, 5, 5],
        [5, 5, 5, 5]],

       [[5, 5, 5, 5],
        [5, 5, 5, 5],
        [5, 5, 5, 5]]])

Conclusiones

En esta entrada se ha visto cómo inicializar arrays de Numpy con un valor dado, para lo que se ha utilizado el método np.full(). Una tarea que puede ser de gran utilidad para inicializar contadores u otras situaciones en las que sea necesario tener una objeto de Numpy con un valor dado.

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.