numpy中的permutation函数

numpy.random.shuffle(x) and numpy.random.permutation(x)

np.random.permutation与np.random.shuffle有两处不同:

如果传给permutation一个矩阵,它会返回一个洗牌后的矩阵副本;而shuffle只是对一个矩阵进行洗牌,无返回值。

如果传入一个整数,它会返回一个洗牌后的arange。

1
2
3
4
5
6
7
def permutation(self, object x):
if isinstance(x, (int, np.integer)):
arr = np.arange(x)
else:
arr = np.array(x)
self.shuffle(arr)
return arr