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\n‘% percentile)
            value = None
        else:
            element_idx = int(len(self.sequence) * (percentile / 100.0))
            self.sequence.sort()
            value = self.sequence[element_idx]
        return value

  

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

时间: 2024-08-10 14:56:45

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

python的引用计数分析(二)

python所有对象引用计数被减少1的情况: 一.对象的别名被赋予新的对象; a = 23345455 # 增加了一个引用 b = a # 增加了一个引用 print(sys.getrefcount(a)) b = 1.4 # 减少了一个23345455整数的引用 print(sys.getrefcount(a)) 结果:3:2 二.对象的别名被显式销毁; a = 23345455 # 增加了一个引用 b = a # 增加了一个引用 list = [a, b] # 增加了2个引用 del a p

sql 语句系列(众数中位数与百分比)[八百章之第十五章]

众数 众数就是出现最多的那个数. select sal,count(*) as cnt from emp where DEPTNO=20 group by sal 通过分组把他们的行数计算出来.那么最关键的部分在于,你如何知道最大值. 是的我们可以查出当前最大值,然后再取出最大值的sal.但是这肯定要用到两个临时视图. 注:我们不能通过排序cnt,然后取值第一个,因为可能存在相同的行数. 解决方案:通过dense_rank 进行排序. 科普一下概念: row_number的用途非常广泛,排序最好

数组中简便方法求最大值,最小值,平均值,求和,和个数

//获取数组中的最大值和最小值 @min.self     NSArray *array = @[@4, @84, @2];     NSLog(@"max = %@", [array valueForKeyPath:@"@max.self"]);         //平均值和求和    NSLog(@"%@", [array valueForKeyPath:@"@sum.self"]); //平均值和求平均值    NSLo

Python中的计数(词频)

1,对于list列表来说 a.用自定义函数来统计技术 def get_count(sequence): counts={} for x in sequence: if x in sequence: count[x] +=1 else: count[x] =1 return counts 或者利用python标准库 from collections import defaultdict def get_counts(sequence): counts = defaultdict(int)#所有的值

Python求解数组重新组合求最小值(优酷)

题目描述:题目:含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如(321,3,32,) 最小数为321323 题目分析: 将数组中所有元素填充到个数相等,填充的数字为最后一位的数字,如这个case所示,填充之后为{321,333,322},然后按大小排序, 排序之后将填充的数字去掉,然后拼接之后的数字就为最小数,即排序之后为{321,322,333},去掉填充数字为{321,32,3},即为321323 Python实现 def mergeMinValue(lst): #生成字符

2016/1/10 实例 1,控制台 输入人数 2,控制台 输入对应人数的成绩 3,求成绩总和以及最大值 最小值 平均值

1 import java.util.Scanner; 2 3 4 public class KongZhitai { 5 6 7 public static void main(String[] args) { 8 // TODO 自动生成的方法存根 9 10 //第一步 输出 扫描 接收 人数 11 int number=0; //定义变量 12 System.out.println("请输入人数:"); 13 Scanner arr=new Scanner(System.in);

python列表求和的几种等效电路

求1-100所有数的和: 方法一:用到python自带的sum函数 L= range(1,101)print(sum(L)) #5050 方法二: from functools import reduce #python2可以直接使用reduce,python3需要从functools导入reduce L = range(1,101)def f(x,y): return x+y sum = reduce(f,L) print(sum) #5050 方法三: L = range(1,101)sum

Python vs PHP 冒泡排序和累加求和计算性能测试

测试环境: 处理器i5-3230M,64位Ubuntu 14.04 Python 2.7.6, PHP 5.4.39, PHP 7.0.0-dev(2015/04/21) 测试内容: 冒泡排序:对10个升序的数进行排序,降序输出,循环1百万次. 累加求和:0+1+2+3+...+99999999 冒泡排序测试结果对比: 程序: Python   PHP5       PHP7 耗时: 16.910s  14.715s  8.011s 内存: 35.8m    9.0m       12.5m P

python常用模块(一)

目录 time模块 时间戳 格式化时间 结构化时间 不同格式时间的转换 其他用法 datetime模块 random模块 os模块 sys模块 json模块 pickle模块 hashlib模块 logging模块 numpy模块 创建矩阵 获取矩阵的行列数 切割矩阵 矩阵元素替换 矩阵的合并 通过函数创建矩阵 arange linspace/logspace zeros/ones/eye/empty fromstring/fromfunction 矩阵的运算 普通矩阵运算 常用矩阵运算函数 矩