當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。