Python

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

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)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: NumPy

Recent Posts

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

7 horas ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

5 días ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

3 semanas ago

This website uses cookies.