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 recherche, mais avec des éléments d'une distribution normale. Mais que faire si je voulais juste des entiers aléatoires?
randint
fonctionne en fournissant une plage, mais pas un tableau comme le randn
fait. Alors, comment puis-je faire cela avec des entiers aléatoires entre une certaine plage?
Réponses:
numpy.random.randint
accepte un troisième argument (size
), dans lequel vous pouvez spécifier la taille du tableau de sortie. Vous pouvez l'utiliser pour créer votreDataFrame
-Ici -
np.random.randint(0,100,size=(100, 4))
- crée un tableau de sortie de taille(100,4)
avec des éléments entiers aléatoires entre[0,100)
.Démo -
qui produit:
la source
[...]
est déjà une liste donc vous n'avez pas besoinlist([...])
La méthode recommandée pour créer des entiers aléatoires avec NumPy ces jours-ci est d'utiliser
numpy.random.Generator.integers
. ( documentation )la source