Sé que si 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 estoy buscando, pero con elementos de una distribución normal. Pero, ¿y si solo quisiera enteros aleatorios?
randint
funciona proporcionando un rango, pero no una matriz como randn
hace randn
. Entonces, ¿cómo hago esto con enteros aleatorios entre algún rango?
numpy.random.randint
acepta un tercer argumento ( size
), en el que puede especificar el tamaño de la matriz de salida. Puedes usar esto para crear tu DataFrame
–
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
Aquí – np.random.randint(0,100,size=(100, 4))
– crea una matriz de salida de tamaño (100,4)
con elementos enteros aleatorios entre [0,100)
.
Demo
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
que produce:
ABCD 0 45 88 44 92 1 62 34 2 86 2 85 65 11 31 3 74 43 42 56 4 90 38 34 93 5 0 94 45 10 6 58 23 23 60 .. .. .. .. ..