Eu sei que se eu usar randn
,
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
dá-me o que procuro, mas com elementos de uma distribuição normal. Mas e se eu quisesse apenas números inteiros aleatórios?
randint
funciona fornecendo um intervalo, mas não um array como o randn
faz. Então, como faço isso com números inteiros aleatórios entre algum intervalo?
Respostas:
numpy.random.randint
aceita um terceiro argumento (size
), no qual você pode especificar o tamanho do array de saída. Você pode usar isso para criar seuDataFrame
-Aqui -
np.random.randint(0,100,size=(100, 4))
- cria uma matriz de saída de tamanho(100,4)
com elementos inteiros aleatórios entre eles[0,100)
.Demo -
que produz:
fonte
[...]
já é uma lista, então você não precisalist([...])
A maneira recomendada de criar inteiros aleatórios com NumPy atualmente é usar
numpy.random.Generator.integers
. ( documentação )fonte