博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据分组统计
阅读量:7124 次
发布时间:2019-06-28

本文共 799 字,大约阅读时间需要 2 分钟。

缘起

在做业务报表时需要统计出如下图的结果。

clipboard.png

即 横坐标是10节课以内的观看人数是244人, 10-20 节课的人数是233人,依次内推。

实现

模拟数据结构如下

clipboard.png

这里我首先自己去实现了这个,代码如下:

自实现一

result_dict = {}        datum = 5        for order in order_list:            res_div = (order['amount'] - 1) // datum            key = str((res_div+1) * datum)            if key not in result_dict:                result_dict.update({key: 1})            else:                result_dict.update({key: result_dict.get(key) + 1})        apply_data = list(result_dict.items())

使用第三方库

from itertools import groupby                result_dict = {}        datum = 5        for k, g in groupby(order_list, key=lambda x: (x['amount'] - 1) // datum):            result_dict['{}'.format((k+1) * datum)] = int(len(list(g)))        apply_data = list(result_dict.items())

的确,熟练掌握第三方库会让程序看起来更简短,但是不能忘了自己也要能实现

转载地址:http://hveel.baihongyu.com/

你可能感兴趣的文章
java小知识点
查看>>
Linux 配置ip,远程,验证,运行,救援,相关
查看>>
Java(Android)线程池
查看>>
Spring MVC整合Velocity
查看>>
使用 GUID 值来作为数据库行标识讲解
查看>>
find命令详解
查看>>
linux字符终端中文显示输入工具zhcon
查看>>
PLANT:
查看>>
lambda的堆“数”特性
查看>>
python实现自动监控网站并发送邮件告警
查看>>
nmap.org的21世纪的netcat(ncat)
查看>>
未来五年最具前景的编程语言
查看>>
saltstack的探索-pillar
查看>>
Linux基础之进程管理
查看>>
二叉树链表结构表示法
查看>>
更换linux/android的启动logo
查看>>
RESTClient - firefox插件
查看>>
我的友情链接
查看>>
3_整形列的可选属性
查看>>
springBoot(23):spring-security-基本
查看>>