np.random.shuffle和np.random.permutation区别

import numpy as np
arr=np.arange(10)
print (arr)
mat=np.arange(9).reshape(3,3)
print(mat)
mat_per=np.random.permutation(mat)
print(mat_per)

结果为:

[0 1 2 3 4 5 6 7 8 9]
[[0 1 2]
 [3 4 5]
 [6 7 8]]
[[0 1 2]
 [3 4 5]
 [6 7 8]]

import numpy as np
arr=np.arange(10)
print (arr)
mat=np.arange(9).reshape(3,3)
print(mat)
mat_per=np.random.shuffle(mat)
print(mat_per)

结果为:

[0 1 2 3 4 5 6 7 8 9]
[[0 1 2]
 [3 4 5]
 [6 7 8]]
None

numpy.random,shuffle(x)是进行原地洗牌,直接改变x的值,而无返回值。对于多维度的array来说,只对第一维进行洗牌,比如一个 3×33×3 的array,只对行之间进行洗牌,而行内内容保持不变。

numpy.random,permutation(x)是返回一个被洗牌过的array,而x不变。对于多维度的array来说,只对第一维进行洗牌,比如一个 3×33×3 的array,只对行之间进行洗牌,而行内内容保持不变。

猜你喜欢

转载自blog.csdn.net/zhuiyunzhugang/article/details/87900728