np.random.permutation with seed? np.random.permutation with seed? numpy numpy

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)