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

Customer Lifetime Value: la fórmula clásica que todo analista debería dominar

El Customer Lifetime Value (CLV) es, probablemente, la métrica más importante que puede calcular una…

2 días ago

Analytics Lane lanza la versión 1.4 del laboratorio con nuevas herramientas de conversión y modelos avanzados de CLV

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.4, que…

6 días ago

Lanzamos el video de ScoreFlow: crea scorecards de crédito de forma ágil y sin IT

En Analytics Lane seguimos apostando por desarrollar herramientas que simplifiquen el trabajo de analistas y…

1 semana ago

Data Leakage en Credit Scoring: El Error que Invalida tu Modelo

Imagina que construyes un scorecard con un Gini de 0,85. Un resultado extraordinario, muy por…

1 semana ago

This website uses cookies.