¿Cómo crear un DataFrame de enteros aleatorios con Pandas?

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 .. .. .. .. ..