python实现求和、计数、最大最小值、平均值、中位数、标准偏差、百分比。

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

import sys

class Stats:

def __init__(self, sequence):

# sequence of numbers we willPRocess

# convert all items to floats for numerical processing

self.sequence = [float(item) for item in sequence]

def sum(self):

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:

return None

else:

return min(self.sequence)

def max(self):

if len(self.sequence) < 1:

return None

else:

return max(self.sequence)

def avg(self):

if len(self.sequence) < 1:

return None

else:

return sum(self.sequence) / len(self.sequence)

def median(self):

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:

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:

value = None

elif (percentile >= 100):

sys.stderr.write('ERROR: percentile must be < 100. you supplied: %s\n'% percentile)

value = None

else:

element_idx = int(len(self.sequence) * (percentile / 100.0))

self.sequence.sort()

value = self.sequence[element_idx]

return value

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航