Python list 按区间分组统计各组个数

一、需求

假设有个 list:

example_list = [95.0, 95.0, 97.0, 97.0, 97.0, 98.0, 99.0, 99.0, 101.0, 101.0, 101.0, 101.0, 101.0, 102.0, 102.0, 103.0, 103.0, 103.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 104.0, 105.0, 105.0, 105.0, 105.0, 106.0, 107.0, 107.0, 107.0, 107.0, 108.0, 108.0, 108.0, 108.0, 109.0, 109.0, 109.0, 110.0, 111.0, 111.0, 111.0, 112.0, 112.0, 115.0, 117.0]

以 5 为间隔,求各个分组中的元素个数。

二、解决方法

使用 groupby() 函数

for k, g in groupby(sorted(example_list), key=lambda x: x//5):
    print('{}-{}: {}'.format(k*5, (k+1)*5-1, len(list(g))))

三、结果展示

95.0-99.0: 8
100.0-104.0: 18
105.0-109.0: 16
110.0-114.0: 6
115.0-119.0: 2

以上,问题解决。

四、补充

有篇文章详细讲解了 groupby() 函数:

https://blog.csdn.net/qq_24753293/article/details/78338263

  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值