Números aleatorios en NumPy
- Página anterior Filtrado de array de NumPy
- Página siguiente ufuncs de NumPy
¿Qué son los números aleatorios?
Los números aleatorios no significan que tengan diferentes números cada vez. Significa que no se puede predecir lógicamente.
Pseudoaleatorio y verdaderamente aleatorio
La computadora trabaja en programas, y los programas son conjuntos de instrucciones autoritativas. Por lo tanto, esto significa que debe haber algún algoritmo para generar números aleatorios.
Si hay un programa para generar números aleatorios, se puede predecir, por lo que no son verdaderamente aleatorios.
Los números aleatorios generados mediante algoritmos se denominan números pseudoaleatorios.
¿Podemos generar números verdaderamente aleatorios?
Sí. Para generar un número verdaderamente aleatorio en nuestra computadora, necesitamos obtener datos aleatorios de alguna fuente externa. La fuente externa suele ser nuestras pulsaciones de teclado, movimientos del ratón, datos de red, etc.
No necesitamos números verdaderamente aleatorios, a menos que estén relacionados con la seguridad (por ejemplo, claves de cifrado) o que la base de la aplicación sea la aleatoriedad (por ejemplo, la ruleta rusa digital).
En este tutorial, utilizaremos números pseudoaleatorios.
Generar número aleatorio
NumPy proporciona el módulo random para manejar números aleatorios.
Ejemplo
Generar un entero aleatorio entre 0 y 100:
from numpy import random x = random.randint(100) print(x)
Generar número flotante aleatorio
Módulo random rand()
El método devuelve un número flotante aleatorio entre 0 y 1.
Ejemplo
Generar un número flotante aleatorio entre 0 y 100:
from numpy import random x = random.rand() print(x)
Generar array aleatorio
En NumPy, podemos usar los dos métodos del ejemplo anterior para crear un array aleatorio.
entero
randint()
El método acepta size
Parámetros, en los que puede especificar la forma del array.
Ejemplo
Generar un array 1-D que contiene 5 números enteros aleatorios entre 0 y 100:
from numpy import random x=random.randint(100, size=(5)) print(x)
Ejemplo
Generar un array 2-D de 3 filas, cada una con 5 números enteros aleatorios entre 0 y 100:
from numpy import random x = random.randint(100, size=(3, 5)) print(x)
Número flotante
rand()
El método también permite especificar la forma del array.
Ejemplo
Generar un array 1-D que contiene 5 números aleatorios flotantes:
from numpy import random x = random.rand(5) print(x)
Ejemplo
Generar un array 2-D de 3 filas, cada una con 5 números aleatorios:
from numpy import random x = random.rand(3, 5) print(x)
Generar números aleatorios desde un array
choice()
El método le permite generar valores aleatorios basados en un array de valores.
choice()
El método toma un array como parámetro y devuelve uno de los valores aleatorios.
Ejemplo
Devuelve uno de los valores del array:
from numpy import random x = random.choice([3, 5, 7, 9]) print(x)
choice()
El método también permite que devuelva un array de valores.
Añadir una size
Los parámetros especifican la forma del array.
Ejemplo
Generar un array bidimensional compuesto de valores del array de parámetros (3, 5, 7 y 9):
from numpy import random x = random.choice([3, 5, 7, 9], size=(3, 5)) print(x)
- Página anterior Filtrado de array de NumPy
- Página siguiente ufuncs de NumPy