zoukankan      html  css  js  c++  java
  • Python统计百分比及排序

    source.txt: 60行

    89
    91
    93
    90
    92
    92
    94
    92
    89
    95
    93
    92
    90
    92
    93
    94
    94
    92
    90
    92
    92
    92
    ...

    统计各个值的百分比,并排序

    # -*- coding: gbk -*-
    
    with open(r'F:source.txt','r') as f:
        lines=f.readlines() #print len(lines)
        print len(lines)
        dic={};
        for age in lines:
            age=age.strip()
            if age not in dic.keys():
                dic[age]=1
            else:
                dic[age]+=1
        print '统计各个值的总数:',dic
        total = sum(dic.values())
        for key in dic.iterkeys():
            dic[key]=(dic[key],float(dic[key])/total)
        print '统计总数和百分比:',dic
        dicnew={}
        li=[]
        for key in dic.iterkeys():
            li.append((key,float("%0.2f"%dic[key][1])))
        print '百分比格式化为两位小数:',li
        print '按值进行排序:',sorted(li,key=lambda item:item[0])
        dic=dict(li)
        print '四舍五入之后的总百分比:',sum(dic.values())
        #print li

    输出:

    60
    统计各个值的总数: {'89': 4, '91': 4, '90': 9, '93': 10, '92': 25, '95': 2, '94': 6}
    统计总数和百分比: {'89': (4, 0.06666666666666667), '91': (4, 0.06666666666666667), '90': (9, 0.15), '93': (10, 0.16666666666666666), '92': (25, 0.4166666666666667), '95': (2, 0.03333333333333333), '94': (6, 0.1)}
    百分比格式化为两位小数: [('89', 0.07), ('91', 0.07), ('90', 0.15), ('93', 0.17), ('92', 0.42), ('95', 0.03), ('94', 0.1)]
    按值进行排序: [('89', 0.07), ('90', 0.15), ('91', 0.07), ('92', 0.42), ('93', 0.17), ('94', 0.1), ('95', 0.03)]
    四舍五入之后的总百分比: 1.01

  • 相关阅读:
    Android性能优化典范
    通过命令行连接oracle数据库/进入sql plus
    eclispe 出现超内存错误
    eclipse 重装了tomcat后配置路径
    dorado listener属性
    dorado问题查询&快捷键重命名
    dorado spring知识补充
    Eclipse导入包的快捷键
    dorado抽取js
    dorado中的creationType选择类型
  • 原文地址:https://www.cnblogs.com/aaronhoo/p/5783812.html
Copyright © 2011-2022 走看看