zoukankan      html  css  js  c++  java
  • python 实现求和、计数、最大最小值、平均值、中位数、标准偏差、百分比。

    import sys
     
    class Stats:
     
        def __init__(self, sequence):
            # sequence of numbers we will process
            # 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
    '% percentile)
                value = None
            else:
                element_idx = int(len(self.sequence) * (percentile / 100.0))
                self.sequence.sort()
                value = self.sequence[element_idx]
            return value
    

      

  • 相关阅读:
    hibernate 映射<二>一对一主键关联
    C# Convert Type to T
    008 OS模块
    001基础知识补充与拓展
    005Buffer(缓冲区)
    009path模块
    002nodejs简介与安装
    007http模块
    004NPM包管理器
    003nodejs的模块化
  • 原文地址:https://www.cnblogs.com/huangxiaohen/p/3847348.html
Copyright © 2011-2022 走看看