2017-12-10 26 views
-1

n 개의 요소 목록이 있습니다. list의 각 요소는 [0,1,2,3]입니다. 주어진 원소가 [0,2,3] 일 확률은 42 % (1 - 0.58)이며, 목록에 주어진 원소가 1 일 확률은 58 %입니다.numpy의 확률을 기반으로 난수 목록 생성

python/numpy를 사용하면 어떻게 여러 목록을 생성 할 수 있습니까?

보너스 : 목록의 숫자 집합을 쉽게 변경할 수 있도록 일반화되어 있습니다 (예 : [0,1,2,3,4,5,6,7,8] 대신 [0,1,2,3,4,5,6,7,8]). ,삼]).

감사 범위 y을 통해 설정할 수 있도록

+0

'np.random.choice' 당신은 옵션'p' 매개 변수를 둘 수있다 확률. –

답변

1
import numpy as np 

np.random.choice(np.arange(0, 4), p=[0.14, 0.58, 0.14, 0.14]) 
0

보다 일반 버전 :

import numpy as np 

y=4 

np.random.choice(np.arange(0, y), p=[0.58 if x==1 else (1-0.58)/(y-1) for x in range(0,y)])