On Sun, Dec 6, 2015 at 3:55 PM, Allan Haldane <allanhaldane@gmail.com> wrote:

I've also often wanted to generate large datasets of random uint8 and uint16. As a workaround, this is something I have used:

np.ndarray(100, 'u1', np.random.bytes(100))

It has also crossed my mind that np.random.randint and np.random.rand could use an extra 'dtype' keyword. It didn't look easy to implement though.
 
Another workaround that avoids creating a copy is to use the view method, e.g.,
np.random.randint(np.iinfo(int).min, np.iinfo(int).max, size=(1,)).view(np.uint8)  # creates 8 random bytes

Cheers,
Stephan