我正在使用 Numpy 对包含大约 100 万个条目的数组进行洗牌。结果数组似乎根本不是随机顺序,我可以看到序列。
例如,如果原件是:
ar = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
然后我在结果中看到这样的序列:
[6,7,8,5,10,1,2,3,4]
这是正常的吗?有没有更好的方法在 Numpy 中对数组进行洗牌?
编辑:
代码:np.random.shuffle(ar)
输出序列我的眼睛:
510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 640 638 608 608 608 650 650 650 650 650 650 650 0 0 0 640 640 640 640 640 640 640 640 640 640 650 650 568 568 568 568 568 1280 568 568 568 568 568 568 568 608 608 608 608 0 0 0 0 0 0 0 0 0 0 640 640 600 600 600 600 0 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 640 640 660 650 650 0 0 608 608 608 608 640 640 640 640 640 640 640 640 640 640 640 640 640 640 650 650 650 650 650 650 650 568 608 568 568 568 568 568 568 568 608 608 608 608 608 608 608 608 608 0 0 0 0 0 0 0 0 640 640 600 600 600 600 600 640 0 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 510 640 660 608 608 608 608 640 650 650 650 650 00 0 0 0 640 608 608 608 640 640 640 640 640 640 640 640 640 640 640 640 640 650
编辑2:输入测试:
200000 x 1
400000 x 2
250000 x 3
5000 x 4
700000 x 5
2000000 x 6
175000 x 7
225000 x 8
700000 x 9
350000 x 10
75000 x 11
5000000 x 12
2000000 x 13
450000 x 14
50000 x 15
350000 x 16
900000 x 17
2500000 x 18
2000000 x 19
50000 x 20
np.random.shuffle(a)
前 100 个结果:
17, 6, 18, 12, 19, 14, 13, 13, 19, 18, 12, 12, 14, 12, 13, 19, 17, 8, 19, 3, 6, 18, 6, 9, 12, 12, 3, 16, 3, 12, 14, 9, 6, 5, 18, 12, 19, 1, 5, 13, 19, 5, 6, 5, 18, 12, 13, 7, 12, 12, 2, 18, 11, 12, 13, 19, 6, 18, 19, 13, 7, 12, 6, 9, 12, 12, 18, 2, 20, 6, 6, 19, 19, 13, 19, 12, 12, 12, 12, 19, 13, 18, 19, 6, 13, 6, 18, 6, 12, 9, 13, 12, 17, 1, 12, 17, 19, 13, 13, 18,