np.random.permutation with seed?
If you want it in one line, you can create a new RandomState
, and call the permutation
on that:
np.random.RandomState(seed=42).permutation(10)
This is better than just setting the seed of np.random
, as it will have only a localized effect.
np.random.seed(42)np.random.permutation(10)
If you want to call np.random.permutation(10)
multiple times and get identical results, you also need to call np.random.seed(42)
every time you call permutation()
.
For instance,
np.random.seed(42)print(np.random.permutation(10))print(np.random.permutation(10))
will produce different results:
[8 1 5 0 7 2 9 4 3 6][0 1 8 5 3 4 7 9 6 2]
while
np.random.seed(42)print(np.random.permutation(10))np.random.seed(42)print(np.random.permutation(10))
will give the same output:
[8 1 5 0 7 2 9 4 3 6][8 1 5 0 7 2 9 4 3 6]
Set the seed in the previous line
np.random.seed(42)np.random.permutation(10)