numpy.random.Generator.permutation#

方法

random.Generator.permutation(x, axis=0)#

随机排列一个序列,或返回一个排列的范围。

参数:
xint 或 array_like

如果 x 是一个整数,则随机排列 np.arange(x)。如果 x 是一个数组,则创建一个副本并随机打乱元素。

axisint,可选

x 沿其随机打乱的轴。默认为 0。

返回值:
outndarray

排列的序列或数组范围。

示例

>>> rng = np.random.default_rng()
>>> rng.permutation(10)
array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6]) # random
>>> rng.permutation([1, 4, 9, 12, 15])
array([15,  1,  9,  4, 12]) # random
>>> arr = np.arange(9).reshape((3, 3))
>>> rng.permutation(arr)
array([[6, 7, 8], # random
       [0, 1, 2],
       [3, 4, 5]])
>>> rng.permutation("abc")
Traceback (most recent call last):
    ...
numpy.exceptions.AxisError: axis 0 is out of bounds for array of dimension 0
>>> arr = np.arange(9).reshape((3, 3))
>>> rng.permutation(arr, axis=1)
array([[0, 2, 1], # random
       [3, 5, 4],
       [6, 8, 7]])