Numpy básico: crear vectores con valores equiespaciados en Numpy

Publicado el 13 noviembre 2019 por Daniel Rodríguez @analyticslane

En esta entrada se va a explicar como utilizar la función np.arrange() para crear vectores y matrices de valores equiespaciados en Numpy. Una función bastante importante ya que permite automatizar la creación de series en las que se conoce el paso entre valores. Lo que puede ser de ayuda en muchas tareas diarias.

La función np.arrange()

Para crear elementos de valores equiespaciados en Numpy se puede utilizar la función np.arrange(), la cual tiene la siguiente forma:

numpy.arange([start, ]stop, [step])

donde

  • start: es el valor inicial de la serie. Un valor opcional que si no se indica explícitamente será 0.
  • stop: es el valor final de la serie, valor que no será incluido en la misma.
  • step: es el espacio entre dos valores adyacentes. Un valor opción que si no se indica explícitamente será 1.

Ejemplos de uso la función np.arrange()

Uno de los primeros ejemplos que se puede revisar es la crear una serie con todos los valores en 10 y 50 separados en pasos de 10. Lo que se puede conseguir con la siguiente línea de código.

import numpy as np

np.arange(10, 51, 10)
array([10, 20, 30, 40, 50])

Como se puede ver es necesario escribir un valor mayor que 50 en el segundo parámetro para llegar a este valor. Si se hubiese escrito 50 la serie terminaría en 40, ya que el valor del parámetro stop no se incluye en la serie. Como se puede ver en el siguiente ejemplo.

np.arange(10, 50, 10)
array([10, 20, 30, 40])

En los ejemplos anteriores es necesario utilizar los tres parámetros de la función para indicar el valor de incido, el valor final y paso entre valores. Cuando el paso entre valores es la unidad se puede omitir el tercer parámetro ( step), por lo que si se desea crear una serie con los valores desde 10 hasta 15 se puede escribir

np.arange(10, 16)
array([10, 11, 12, 13, 14, 15])

Finalmente, si la serie empieza en cero solamente es necesario indicar final mediante el parámetro stop. Así para obtener los valores de 0 a 9 solamente se tiene que usar el siguiente comando

np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

Conclusiones

En esta entrada se ha visto cómo generar vectores con valores equiespaciados en Numpy. Otra tarea básica pero muy utilizada en el día a día a la hora de trabajar con Numpy.

Imágenes: Pixabay (Marit Welker)