I am waiting for another developer to finish a piece of code that will return an np array of shape (100,2000) with values of either -1,0, or 1.
In the meantime, I want to randomly create an array of the same characteristics so I can get a head start on my development and testing. The thing is that I want this randomly created array to be the same each time, so that I'm not testing against an array that keeps changing its value each time I re-run my process.
I can create my array like this, but is there a way to create it so that it's the same each time. I can pickle the object and unpickle it, but wondering if there's another way.
r = np.random.randint(3, size=(100, 2000)) - 1
Simply seed the random number generator with a fixed value, e.g.
This way, you'll always get the same random number sequence.
If you are using other functions relying on a random state, you can't just set and overall seed, but should instead create a function to generate your random list of number and set the seed as a parameter of the function. This will not disturb any other random generators in the code:
Create your own instance of
numpy.random.RandomState()
with your chosen seed. Do not usenumpy.random.seed()
except to work around inflexible libraries that do not let you pass around your ownRandomState
instance.