import numpy as np import scipy.stats as s # normal distribution # normal(mean, stdev, size) heights = np.random.normal(188, 3, 10) print heights # binomial distribution # binomial(n, p, size) coinFlips = np.random.binomial(10, 0.5, 10) print coinFlips # normal density x = np.linspace(-5, 5, num=10) normalDensity = s.norm.pdf(x, 0, 1) print np.around(normalDensity, decimals=2) # binomial density x = np.arange(0, 11, 1) # note that it's (0, 11, 1) instead of (0, 10, 1) binomialDensity = s.binom.pmf(x, 10, 0.5) print np.around(binomialDensity, decimals=2) # 'sample' draws a random sample with and without replacement --> numpy.random.choice in numpy 1.7 heights = np.random.normal(188, 3, 10) # with replacement print 'random sampling with replacement:' print np.random.choice(heights, size=10, replace=True, p=None) # without replacement print '\nrandom sampling without replacement' print np.random.choice(heights, size=10, replace=False, p=None) # sample according to a set of probability probs = [0.4, 0.3, 0.2, 0.1, 0, 0, 0, 0, 0, 0] print '\nrandom sampling with replacement according to a set of probability:' print probs print '\nsum of probabilities:' print sum(probs) print '\nsampled:' print np.random.choice(heights, size=10, replace=True, p=probs) # setting a seed np.random.seed(12345) print np.random.normal(0, 1, 5) print '-------------------------------------------------------------' np.random.seed(12345) print np.random.normal(0, 1, 5)