diff options
author | Travis Oliphant <oliphant@enthought.com> | 2006-06-09 23:52:23 +0000 |
---|---|---|
committer | Travis Oliphant <oliphant@enthought.com> | 2006-06-09 23:52:23 +0000 |
commit | 6768d24e4709c080d0ed5c7dca1f36f759fa8ba2 (patch) | |
tree | f0e96afbee4045aaa1b416a00225d498ac4e1976 /numpy/random/oldrngstats.py | |
parent | e0bd761dc33d9716be220d6481756aa982599132 (diff) | |
download | numpy-6768d24e4709c080d0ed5c7dca1f36f759fa8ba2.tar.gz |
Add RNG interface and clean up old-interfaces to be separate from newer ones.
Diffstat (limited to 'numpy/random/oldrngstats.py')
-rw-r--r-- | numpy/random/oldrngstats.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/numpy/random/oldrngstats.py b/numpy/random/oldrngstats.py new file mode 100644 index 000000000..b795eee09 --- /dev/null +++ b/numpy/random/oldrngstats.py @@ -0,0 +1,35 @@ + +__all__ = ['average', 'histogram', 'standardDeviation', 'variance'] + +import numpy as Numeric + +def average(data): + data = Numeric.array(data) + return Numeric.add.reduce(data)/len(data) + +def variance(data): + data = Numeric.array(data) + return Numeric.add.reduce((data-average(data))**2)/(len(data)-1) + +def standardDeviation(data): + data = Numeric.array(data) + return Numeric.sqrt(variance(data)) + +def histogram(data, nbins, range = None): + data = Numeric.array(data, Numeric.Float) + if range is None: + min = Numeric.minimum.reduce(data) + max = Numeric.maximum.reduce(data) + else: + min, max = range + data = Numeric.repeat(data, + Numeric.logical_and(Numeric.less_equal(data, max), + Numeric.greater_equal(data, + min))) + bin_width = (max-min)/nbins + data = Numeric.floor((data - min)/bin_width).astype(Numeric.Int) + histo = Numeric.add.reduce(Numeric.equal( + Numeric.arange(nbins)[:,Numeric.NewAxis], data), -1) + histo[-1] = histo[-1] + Numeric.add.reduce(Numeric.equal(nbins, data)) + bins = min + bin_width*(Numeric.arange(nbins)+0.5) + return Numeric.transpose(Numeric.array([bins, histo])) |