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


Python numpy Generator.permuted用法及代码示例


本文简要介绍 python 语言中 numpy.random.Generator.permuted 的用法。

用法:

random.Generator.permuted(x, axis=None, out=None)

沿轴轴随机排列 x。

shuffle 不同,沿给定轴的每个切片都是独立于其他切片的。

参数

x 数组,至少是一维的

要洗牌的数组。

axis 整数,可选

该轴上的 x 切片被打乱。每个切片都独立于其他切片进行洗牌。如果axis为None,则对展平的数组进行打乱。

out ndarray,可选

如果给定,这是洗牌数组的目的地。如果 out 为 None,则返回数组的洗牌副本。

返回

ndarray

如果 out 为 None,则返回 x 的洗牌副本。否则将打乱后的数组存入out,并返回out

例子

创建一个 numpy.random.Generator 实例:

>>> rng = np.random.default_rng()

创建一个测试数组:

>>> x = np.arange(24).reshape(3, 8)
>>> x
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])

打乱 x 的行:

>>> y = rng.permuted(x, axis=1)
>>> y
array([[ 4,  3,  6,  7,  1,  2,  5,  0],  # random
       [15, 10, 14,  9, 12, 11,  8, 13],
       [17, 16, 20, 21, 18, 22, 23, 19]])

x 未修改:

>>> x
array([[ 0,  1,  2,  3,  4,  5,  6,  7],
       [ 8,  9, 10, 11, 12, 13, 14, 15],
       [16, 17, 18, 19, 20, 21, 22, 23]])

要就地打乱 x 的行,请将 x 作为 out 参数传递:

>>> y = rng.permuted(x, axis=1, out=x)
>>> x
array([[ 3,  0,  4,  7,  1,  6,  2,  5],  # random
       [ 8, 14, 13,  9, 12, 11, 15, 10],
       [17, 18, 16, 22, 19, 23, 20, 21]])

请注意,当给定 out 参数时,返回值为 out

>>> y is x
True

相关用法


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