2015-01-08 2 views
2

파이썬에서 평균 = 550 및 표준 편차 = 30 인 500과 600 사이의 임의의 난수를 생성하는 방법을 알아야합니다.Python : 평균 및 표준 편차가있는 난수 생성기

import pylab 
import random 

xrandn = pylab.zeros(1000,float) 

for j in range(500,601): 
xrandn[j] = pylab.randn() 

??????? 
+0

당신이 갖고있는 것 같다 (실수, 의심의 여지가) 귀하의 질문 내용을 삭제. 이것은 답변의 유용성을 제한하므로 허용되지 않습니다. 나는 그 질문을 되돌 렸습니다. – DSM

+0

어떤 분포에서 그릴까요? 초기의 추측은 sigma = 30 인 무작위 분포에서 그려 내고 500보다 작거나 600보다 큰 모든 요소를 ​​버리는 것이 었습니다. 그러나 그렇게하면 표준 편차가 줄어들 것입니다. – physicalattraction

답변

4

당신은 stats.truncnorm을 찾고 있습니다 :

import scipy.stats as stats 

a, b = 500, 600 
mu, sigma = 550, 30 
dist = stats.truncnorm((a - mu)/sigma, (b - mu)/sigma, loc=mu, scale=sigma) 

values = dist.rvs(1000) 
+1

(파이썬 2의 경우'.0' 몇 개를 추가하고 싶을 수도 있습니다) – DSM

+1

.. hmm. 이것이 분산에 대한 올바른 매개 변수입니까? 결과 값인'values.std()'는 30 대신 ~ 23.87 인 것 같습니다. – DSM