Ten en cuenta que en la informática cualquier problema casi siempere suele tener varias soluciones, no obstante nosotros te enseñamos la mejor y más óptimo.
random.choice(a, size=None, replace=True, p=None)
-
Genera una muestra aleatoria de un 1-D dado array
Nuevo en la versión 1.7.0.
Nota
El nuevo código debe usar el
choice
método de undefault_rng()
instancia en su lugar; por favor vea el Inicio rápido.- Parámetros
-
a1-D array-like or int
-
Si es un ndarray, se genera una muestra aleatoria a partir de sus elementos. Si es un int, la muestra aleatoria se genera como si fuera np.arange(a)
sizeint or tuple of ints, optional
-
Forma de salida. Si la forma dada es, por ejemplo,
(m, n, k)
entoncesm * n * k
se extraen muestras. El valor predeterminado es Ninguno, en cuyo caso se devuelve un solo valor. replaceboolean, optional
-
Si la muestra es con o sin reemplazo
p1-D array-like, optional
-
Las probabilidades asociadas con cada entrada en a. Si no se proporciona, la muestra asume una distribución uniforme sobre todas las entradas en a.
- Devoluciones
-
samplessingle item or ndarray
-
Las muestras aleatorias generadas
- aumenta
-
- ValorError
-
Si a es un int y menor que cero, si a o p no son unidimensionales, si a es un array-como de tamaño 0, si p no es un vector de probabilidades, si a y p tienen longitudes diferentes, o si replace=False y el tamaño de la muestra es mayor que el tamaño de la población
Ver también
randint, shuffle,
permutation
Generator.choice
-
que se debe utilizar en el nuevo código
notas
Muestreo de filas aleatorias de un 2-D array no es posible con esta función, pero es posible con
Generator.choice
a través de suaxis
palabra clave.Ejemplos
Genere una muestra aleatoria uniforme de np.arange(5) de tamaño 3:
>>> np.random.choice(5,3) array([0,3,4])# random>>>#This is equivalent to np.random.randint(0,5,3)
Genere una muestra aleatoria no uniforme de np.arange(5) de tamaño 3:
>>> np.random.choice(5,3, p=[0.1,0,0.3,0.6,0]) array([3,3,0])# random
Genere una muestra aleatoria uniforme de np.arange(5) de tamaño 3 sin reemplazo:
>>> np.random.choice(5,3, replace=False) array([3,1,0])# random>>>#This is equivalent to np.random.permutation(np.arange(5))[:3]
Genere una muestra aleatoria no uniforme de np.arange(5) de tamaño 3 sin reemplazo:
>>> np.random.choice(5,3, replace=False, p=[0.1,0,0.3,0.6,0]) array([2,3,0])# random
Cualquiera de los anteriores se puede repetir con un arbitrario array-como en lugar de solo números enteros. Por ejemplo:
>>> aa_milne_arr =['pooh','rabbit','piglet','Christopher']>>> np.random.choice(aa_milne_arr,5, p=[0.5,0.1,0.1,0.3]) array(['pooh','pooh','pooh','Christopher','piglet'],# random dtype='
)
valoraciones y reseñas
Eres capaz de añadir valor a nuestro contenido informacional cooperando tu experiencia en las críticas.