この記事では、Python言語とNumPyを用いて配列から要素をランダム抽出する方法をソースコード付きで解説します。
配列から要素のランダム抽出
NumPy配列では、numpy.random.choiceで配列から要素をランダム抽出できます。
書式
b = numpy.random.choice(a, n, replace=True)
配列aから要素n個をランダムに抽出します。
(replaceがTrueなら重複あり)
b = numpy.random.choice(a, n, p= [0.1, 0.9])
各要素の出現確率pを指定して配列aから要素n個をランダムに抽出します。
ソースコード
サンプルプログラムのソースコードです。
# -*- coding: utf-8 import numpy as np # 配列生成 a = np.array([1, 2, 3]) # 配列のランダム抽出 c1 = np.random.choice(a, 3, replace=True) # 重複あり c2 = np.random.choice(a, 3, replace=False) # 重複なし c3 = np.random.choice(a, 3, p=[0.1, 0.8, 0.1]) # 出現率pを指定 # 結果表示 print(c1) # [2 3 2] print(c2) # [1 2 3] print(c3) # [2 2 2]
コメント