web-dev-qa-db-fra.com

Comment créer un DataFrame de nombres entiers aléatoires avec des pandas?

Je sais que si j'utilise randn ,

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))

me donne ce que je cherche, mais avec des éléments d’une distribution normale. Mais si je voulais juste des nombres entiers aléatoires?

randint fonctionne en fournissant une plage, mais pas un tableau comme le fait randn. Alors, comment puis-je faire cela avec des entiers aléatoires entre certaines plages?

87
AlanH

numpy.random.randint accepte un troisième argument (size), dans lequel vous pouvez spécifier la taille du tableau de sortie. Vous pouvez utiliser ceci pour créer votre DataFrame -

_df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
_

Here - np.random.randint(0,100,size=(100, 4)) - crée un tableau en sortie de taille _(100,4)_ avec des éléments entiers aléatoires compris entre _[0,100)_.


Démo -

_import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
_

qui produit:

_     A   B   C   D
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
..  ..  ..  ..  ..
_
128
Anand S Kumar