1 生成数据
import numpy as np
arr = np.arange(1,17).reshape(4,4)
arr
array([[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12],
[13, 14, 15, 16]])
2 设置一次固定的seed,其结果表明它的有效期只有一次
print(arr)
np.random.seed(1234)
np.random.shuffle(arr)
print(arr)
np.random.shuffle(arr)
print(arr)
np.random.shuffle(arr)
print(arr)
[[ 5 6 7 8]
[ 9 10 11 12]
[13 14 15 16]
[ 1 2 3 4]]
[[ 5 6 7 8]
[ 9 10 11 12]
[13 14 15 16]
[ 1 2 3 4]]
[[ 9 10 11 12]
[13 14 15 16]
[ 1 2 3 4]
[ 5 6 7 8]]
[[ 9 10 11 12]
[ 1 2 3 4]
[ 5 6 7 8]
[13 14 15 16]]
3 想要保存相同的随机顺序,需要每次使用前都要相同的seed
np.random.seed(1234)
np.random.shuffle(arr)
print(arr)
np.random.seed(1234)
np.random.shuffle(arr)
print(arr)
np.random.seed(1234)
np.random.shuffle(arr)
print(arr)
[[ 9 10 11 12]
[ 1 2 3 4]
[ 5 6 7 8]
[13 14 15 16]]
[[ 9 10 11 12]
[ 1 2 3 4]
[ 5 6 7 8]
[13 14 15 16]]
[[ 9 10 11 12]
[ 1 2 3 4]
[ 5 6 7 8]
[13 14 15 16]]
4 相同的随机种子会有相同的顺序,如下所示:
SEED = 555
np.random.seed(SEED)
np.random.shuffle(arr1)
print(arr1)
np.random.seed(SEED)
np.random.shuffle(arr2)
print(arr2)
arr_new = np.concatenate((arr1,arr2),axis=1)
print(arr_new)
[[21 22 23 24]
[11 12 13 14]
[ 1 2 3 4]
[ 6 7 8 9]
[16 17 18 19]]
[[25]
[15]
[ 5]
[10]
[20]]
[[21 22 23 24 25]
[11 12 13 14 15]
[ 1 2 3 4 5]
[ 6 7 8 9 10]
[16 17 18 19 20]]
SEED = 0
np.random.seed(SEED)
np.random.shuffle(arr1)
print(arr1)
np.random.seed(SEED)
np.random.shuffle(arr2)
print(arr2)
arr_new = np.concatenate((arr1,arr2),axis=1)
print(arr_new)
[[21 22 23 24]
[ 1 2 3 4]
[16 17 18 19]
[11 12 13 14]
[ 6 7 8 9]]
[[25]
[ 5]
[20]
[15]
[10]]
[[21 22 23 24 25]
[ 1 2 3 4 5]
[16 17 18 19 20]
[11 12 13 14 15]
[ 6 7 8 9 10]]
SEED = 5555555
np.random.seed(SEED)
np.random.shuffle(arr1)
print(arr1)
np.random.seed(SEED)
np.random.shuffle(arr2)
print(arr2)
arr_new = np.concatenate((arr1,arr2),axis=1)
print(arr_new)
[[ 1 2 3 4]
[21 22 23 24]
[ 6 7 8 9]
[11 12 13 14]
[16 17 18 19]]
[[ 5]
[25]
[10]
[15]
[20]]
[[ 1 2 3 4 5]
[21 22 23 24 25]
[ 6 7 8 9 10]
[11 12 13 14 15]
[16 17 18 19 20]]