numpy.random.Generator.shuffle#

方法

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

原地修改数组或序列,打乱其内容。

子数组的顺序发生改变,但其内容保持不变。

参数:
xndarray 或 MutableSequence

要打乱的数组、列表或可变序列。

axisint, optional

沿哪个轴 x 被打乱。默认为 0。仅支持 ndarray 对象。

返回:
None

另请参阅

permuted
permutation

备注

shufflepermuted 方法之间的一个重要区别在于它们如何处理 axis 参数,该参数可以在 处理 axis 参数 中找到。

示例

>>> rng = np.random.default_rng()
>>> arr = np.arange(10)
>>> arr
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> rng.shuffle(arr)
>>> arr
array([2, 0, 7, 5, 1, 4, 8, 9, 3, 6]) # random
>>> arr = np.arange(9).reshape((3, 3))
>>> arr
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> rng.shuffle(arr)
>>> arr
array([[3, 4, 5], # random
       [6, 7, 8],
       [0, 1, 2]])
>>> arr = np.arange(9).reshape((3, 3))
>>> arr
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> rng.shuffle(arr, axis=1)
>>> arr
array([[2, 0, 1], # random
       [5, 3, 4],
       [8, 6, 7]])