Hi, On Tue, Dec 8, 2015 at 4:40 PM, Stephan Hoyer <sho...@gmail.com> wrote: > On Sun, Dec 6, 2015 at 3:55 PM, Allan Haldane <allanhald...@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
I think that is not quite (pseudo) random because the second parameter to randint is the max value plus 1 - and: np.random.random_integers(np.iinfo(int).min, np.iinfo(int).max + 1, size=(1,)).view(np.uint8) gives: OverflowError: Python int too large to convert to C long Cheers, Matthew _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion