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

Errores comunes al interpretar resultados estadísticos

La estadística no suele fallar en los cálculos: falla en la interpretación. El test está…

3 días ago

Dashboard CLV: cuatro modelos, un mismo dataset, conclusiones muy distintas

Los artículos anteriores de esta serie cubrieron cuatro formas de mirar el valor del cliente:…

5 días ago

Curiosidad: Por qué la criptografía habla siempre de Alice y Bob

Quien se acerca a la criptografía descubre enseguida a dos personajes que aparecen en casi…

1 semana ago

Desbalanceo de Clases en Credit Scoring: Por Qué Usamos Ponderación en lugar de Undersampling

En credit scoring el desbalanceo de clases es la norma, no la excepción. En una…

2 semanas ago

Curiosidad: El “bug”, la polilla y la leyenda de Grace Hopper

Cualquiera que programe usa la palabra bug a diario para referirse a un fallo en…

2 semanas ago

BG/BB: el modelo de CLV para compras en períodos discretos

Los dos artículos anteriores de la serie cubrieron BG/NBD, el modelo para negocios donde el…

3 semanas ago

This website uses cookies.