From a sample of data stored in an array, a solution to calculate the mean and standrad deviation in python is to use numpy with the functions numpy.mean and numpy.std respectively. For testing, let generate random numbers from a normal distribution with a true mean (mu = 10) and standard deviation (sigma = 2.0:)
>>> import numpy as np>>> import matplotlib.pyplot as plt>>> mu = 10.0>>> sigma = 2.0>>> x = np.random.randn(10000) * sigma + mu
if we now use np.mean(x) and np.std(x) to estimate the mean and standard deviation:
>>> print('mean: 'np.mean(x))>>> print('standard deviation', np.std(x))
returns for example:
10.0038186516075941.9969664232497317

import numpy as npimport matplotlib.pyplot as pltdata = np.random.randn(100000)hx, hy, _ = plt.hist(data, bins=50, normed=1,color="lightblue")plt.ylim(0.0,max(hx)+0.05)plt.title('Generate random numbers \n from a standard normal distribution with python')plt.grid()plt.savefig("numpy_random_numbers_stantard_normal_distribution.png", bbox_inches='tight')plt.show()
References
| Links | Site |
|---|---|
| numpy.mean | docs.scipy.org |
| numpy.std | docs.scipy.org |
