8.2.2 Funciones predefinidas para creación de arrays
NumPy ofrece una gran variedad de funciones predefinidas para creación de arrays que nos permiten simplificar el proceso de construcción de este tipo de estructuras de datos.
Valores fijos
A continuación veremos una serie de funciones para crear arrays con valores fijos.
Ceros
Por defecto, ésta y otras funciones del estilo, devuelven valores flotantes. Si quisiéramos trabajar con valores enteros basta con usar el parámetro dtype:
Existe la posibilidad de crear un array de ceros con las mismas dimensiones (y forma) que otro array:
Lo cual sería equivalente a pasar la «forma» del array a la función predefinida de creación de ceros:
Unos
Mismo valor
Matriz identidad
Matriz diagonal
Ejercicio
Cree la siguiente matriz mediante código Python:
Obtenga igualmente las siguientes características de cada uno de ellos: dimensión, tamaño, forma y tipo de sus elementos.
Valores equiespaciados
A continuación veremos una serie de funciones para crear arrays con valores equiespaciados o en intervalos definidos.
Valores enteros equiespaciados
La función que usamos para este propósito es np.arange() cuyo comportamiento es totalmente análogo a la función «built-in» range().
Especificando límite superior:
Especificando límite inferior y superior:
Especificando límite inferior, superior y paso:
Es posible especificar un paso flotante en la función arange():
Valores flotantes equiespaciados
La función que usamos para este propósito es np.linspace() cuyo comportamiento es «similar» a np.arange() pero para valores flotantes.
Especificando límite inferior y superior:
Especificando límite inferior, superior y total de elementos:
Especificando un intervalo abierto [a, b):
Valores aleatorios
A continuación veremos una serie de funciones para crear arrays con valores aleatorios y distribuciones de probabilidad.
Valores aleatorios enteros
Valores aleatorios enteros en (a,b):
Valores aleatorios flotantes
Por simplicidad, en el resto de ejemplos vamos a obviar la salida escalar y matriz.
Valores aleatorios flotantes en [0,1):
Valores aleatorios flotantes en [a,b):
Distribuciones de probabilidad
Distribución normal: Ejemplo en el que generamos un millón de valores usando como parámetros de la distribución 𝜇 = 0, 𝜎 = 5
Muestra aleatoria: Ejemplo en el que generamos una muestra aleatoria de un millón de lanzamientos de una moneda:
Muestra aleatoria con probabilidades no uniformes: Ejemplo en el que generamos una muestra aleatoria de un millón de lanzamientos con un dado «trucado»:
Muestra aleatoria sin reemplazo: Ejemplo en el que seleccionamos 5 principios aleatorios del Zen de Python sin reemplazo:
Ver también:
Listado de distribuciones aleatorias que se pueden utilizar en NumPy.
Ejercicio
Cree:
- Una matriz de 20 filas y 5 columnas con valores flotantes equiespaciados en el intervalo cerrado [1,10].
- Un array unidimensional con 128 valores aleatorios de una distribución normal ^ = 1, a =
- Un array unidimensional con 15 valores aleatorios de una muestra 1, X, 2 donde la probabilidad de que gane el equipo local es del 50%, la probabilidad de que empaten es del 30% y la probabilidad de que gane el visitante es del 20%.
Constantes
Numpy proporciona una serie de constantes predefinidas que facilitan su acceso y reutilización. Veamos algunas de ellas: