ランダム順列
要素のランダム順列
順列とは、要素の配置を指します。たとえば、[3、2、1]は[1、2、3]の順列であり、その逆も同様です。
NumPy Randomモジュールは、このための2つのメソッドを提供します:
shuffle()
とpermutation()
。
配列のシャッフル
シャッフルとは、要素の配置をインプレースで変更することを意味します。つまり、アレイ自体にあります。
例
次の配列の要素をランダムにシャッフルします。
from numpy import random
import numpy as np
arr = np.array([1, 2, 3,
4, 5])
random.shuffle(arr)
print(arr)
このshuffle()
メソッドは、元の配列に変更を加えます。
配列の順列の生成
例
次の配列の要素のランダム順列を生成します。
from numpy import random
import numpy as np
arr = np.array([1, 2, 3,
4, 5])
print(random.permutation(arr))
このpermutation()
メソッドは、再配置された配列を返します(元の配列は変更されません)。