当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy Random Generator shuffle方法用法及代码示例


NumPy Random 的 shuffle(~) 方法会就地随机打乱 NumPy 数组。

注意

要获取新的打乱值数组,请改用 permutation(~)

参数

1.x | NumPy arrayMutableSequence

要洗牌的数组。

2. axis | int | optional

要洗牌的轴。默认情况下,axis=0

返回值

None - 此操作就地完成。

例子

基本用法

考虑以下 NumPy 数组:

import numpy as np
x = np.arange(10)
x



array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

要打乱此 NumPy 数组:

rng = np.random.default_rng()
rng.shuffle(x)
x



array([4, 0, 2, 9, 6, 3, 1, 5, 8, 7])

请注意Shuffle[洗牌]是如何就地完成的。

设定轴

考虑以下二维数组:

x = np.arange(12).reshape((3,4))
x



array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])

默认情况下, axis=0 ,这意味着行被打乱:

rng = np.random.default_rng(seed=42)
rng.shuffle(x)   # axis=0
x



array([[ 8,  9, 10, 11],
       [ 4,  5,  6,  7],
       [ 0,  1,  2,  3]])

要打乱列,请设置 axis=1

rng.shuffle(x, axis=1)
x



array([[ 2,  0,  3,  1],
       [ 6,  4,  7,  5],
       [10,  8, 11,  9]])

设置种子

为了能够重现随机性,请像这样设置种子:

rng = np.random.default_rng(seed=42)
x = np.arange(10)
rng.shuffle(x)
x



array([5, 6, 0, 7, 3, 2, 4, 9, 1, 8])

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy Random Generator | shuffle method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。