diff options
author | Pjotr Prins | 2016-06-17 06:48:01 +0000 |
---|---|---|
committer | Pjotr Prins | 2016-06-17 06:48:01 +0000 |
commit | 93e3878c8b97ecbf28630e4bb3733a29f4cf45aa (patch) | |
tree | ef92de7c75b7899b406e99c97006a7e2b20bd86b /wqflask/basicStatistics | |
parent | eb84f7c0e384e08b810e052fd3935f6d977b7ea2 (diff) | |
parent | 10df36b60273d81678f6630c07a2d8e5a6409282 (diff) | |
download | genenetwork2-93e3878c8b97ecbf28630e4bb3733a29f4cf45aa.tar.gz |
Conflict
Diffstat (limited to 'wqflask/basicStatistics')
-rwxr-xr-x | wqflask/basicStatistics/corestats.py | 64 |
1 files changed, 32 insertions, 32 deletions
diff --git a/wqflask/basicStatistics/corestats.py b/wqflask/basicStatistics/corestats.py index 4f2d122f..eba84c52 100755 --- a/wqflask/basicStatistics/corestats.py +++ b/wqflask/basicStatistics/corestats.py @@ -1,8 +1,8 @@ #!/usr/bin/env python -# corestats.py (COREy STATS) +# corestats.py (COREy STATS) # Copyright (c) 2006-2007, Corey Goldberg (corey@goldb.org) -# +# # statistical calculation class # for processing numeric sequences # @@ -19,65 +19,65 @@ import sys class Stats: - + def __init__(self, sequence): # sequence of numbers we will process - # convert all items to floats for numerical processing + # convert all items to floats for numerical processing self.sequence = [float(item) for item in sequence] - + def sum(self): - if len(self.sequence) < 1: + if len(self.sequence) < 1: return None else: return sum(self.sequence) - - + + def count(self): return len(self.sequence) - + def min(self): - if len(self.sequence) < 1: + if len(self.sequence) < 1: return None else: return min(self.sequence) - - + + def max(self): - if len(self.sequence) < 1: + if len(self.sequence) < 1: return None else: return max(self.sequence) - + def avg(self): - if len(self.sequence) < 1: + if len(self.sequence) < 1: return None - else: - return sum(self.sequence) / len(self.sequence) - - + else: + return sum(self.sequence) / len(self.sequence) + + def median(self): - if len(self.sequence) < 1: + if len(self.sequence) < 1: return None else: self.sequence.sort() return self.sequence[len(self.sequence) // 2] - - + + def stdev(self): - if len(self.sequence) < 1: + if len(self.sequence) < 1: return None else: avg = self.avg() sdsq = sum([(i - avg) ** 2 for i in self.sequence]) stdev = (sdsq / (len(self.sequence) - 1)) ** .5 return stdev - - + + def percentile(self, percentile): - if len(self.sequence) < 1: + if len(self.sequence) < 1: value = None elif (percentile >= 100): sys.stderr.write('ERROR: percentile must be < 100. you supplied: %s\n'% percentile) @@ -87,17 +87,17 @@ class Stats: self.sequence.sort() value = self.sequence[element_idx] return value - - - + + + # Sample script using this class: -# ------------------------------------------- +# ------------------------------------------- # #!/usr/bin/env python # import corestats -# +# # sequence = [1, 2.5, 7, 13.4, 8.0] # stats = corestats.Stats(sequence) # print stats.avg() # print stats.percentile(90) -# ------------------------------------------- +# ------------------------------------------- |