Sé que si yo uso randn
,
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
me da lo que busco, pero con elementos de una distribución normal. Pero, ¿y si solo quisiera números enteros aleatorios?
randint
funciona proporcionando un rango, pero no una matriz como lo randn
hace. Entonces, ¿cómo hago esto con números enteros aleatorios entre algún rango?
Respuestas:
numpy.random.randint
acepta un tercer argumento (size
), en el que puede especificar el tamaño de la matriz de salida. Puede usar esto para crear suDataFrame
-Aquí -
np.random.randint(0,100,size=(100, 4))
- crea una matriz de salida de tamaño(100,4)
con elementos enteros aleatorios entre ellos[0,100)
.Demo -
que produce:
fuente
[...]
ya es una lista, por lo que no es necesariolist([...])
La forma recomendada de crear números enteros aleatorios con NumPy en estos días es usar
numpy.random.Generator.integers
. ( documentación )fuente