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

Curiosidad: “Wi-Fi” no significa “Wireless Fidelity”

Pregunta a cualquiera qué significan las letras de "Wi-Fi" y lo más probable es que…

8 horas ago

Shallow copy vs Deep copy en Python: la mutación inesperada

Imagina que tienes una lista con datos de un usuario: usuario_original = { 'nombre': 'Juan',…

2 días ago

Cómo Saber si una Diferencia Significativa es Importante

Has aplicado un t-test y obtienes p = 0,003. El resultado es estadísticamente significativo, hay…

1 semana ago

== vs is en Python: la diferencia que causa bugs misteriosos

Hay un bug que aparece una y otra vez en código Python, tan sutil que…

1 semana ago

Curiosidad: El puerto 80 y los números de puerto

Durante décadas, cuando escribías una dirección web y pulsabas Intro, tu navegador hacía algo que…

2 semanas ago

Cómo Proyectar Cuándo Alcanzarás la Independencia Financiera

La independencia financiera es el punto en el que tus inversiones generan suficientes rendimientos para…

2 semanas ago

This website uses cookies.