Wiem, że jeśli używam randn
,
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
daje mi to, czego szukam, ale z elementami z normalnej dystrybucji. Ale co, jeśli chcę tylko losowych liczb całkowitych?
randint
działa poprzez podanie zakresu, ale nie tablicy, jak randn
robi. Jak więc to zrobić z losowymi liczbami całkowitymi z jakiegoś zakresu?
Odpowiedzi:
numpy.random.randint
akceptuje trzeci argument (size
), w którym można określić rozmiar tablicy wyjściowej. Możesz użyć tego do stworzenia swojegoDataFrame
-Tutaj -
np.random.randint(0,100,size=(100, 4))
- tworzy wyjściową tablicę o rozmiarze(100,4)
z losowymi elementami całkowitymi pomiędzy[0,100)
.Próbny -
który produkuje:
źródło
[...]
jest już listą, więc nie potrzebujeszlist([...])
Zalecanym sposobem tworzenia losowych liczb całkowitych za pomocą NumPy w dzisiejszych czasach jest użycie
numpy.random.Generator.integers
. ( dokumentacja )źródło