zoukankan      html  css  js  c++  java
  • groupby()

    用法一:

    groupby()函数扫描整个序列并且查找连续相同值(或根据指定 key 函数返回值相同)的元素序列。

    每次迭代,返回一个值和一个迭代器对象。

    from operator import itemgetter
    from itertools import groupby
    
    
    rows = [
        {'address': '5412 N CLARK', 'date': '07/01/2012'},
        {'address': '5148 N CLARK', 'date': '07/04/2012'},
        {'address': '5800 E 58TH', 'date': '07/02/2012'},
        {'address': '2122 N CLARK', 'date': '07/03/2012'},
        {'address': '5645 N RAVENSWOOD', 'date': '07/02/2012'},
        {'address': '1060 W ADDISON', 'date': '07/02/2012'},
        {'address': '4801 N BROADWAY', 'date': '07/01/2012'},
        {'address': '1039 W GRANVILLE', 'date': '07/04/2012'},
    ]
    
    
    for date, items in groupby(rows, key=itemgetter('date')):
        print(date)
        for i in items:
            print(i) 

    对 groupby() 的使用,最重要的的是要根据指定字段将数据排序,因为 groupby() 仅仅检查连续的元素。

    from operator import itemgetter
    from itertools import groupby
    
    
    rows = [
        {'address': '5412 N CLARK', 'date': '07/01/2012'},
        {'address': '5148 N CLARK', 'date': '07/04/2012'},
        {'address': '5800 E 58TH', 'date': '07/02/2012'},
        {'address': '2122 N CLARK', 'date': '07/03/2012'},
        {'address': '5645 N RAVENSWOOD', 'date': '07/02/2012'},
        {'address': '1060 W ADDISON', 'date': '07/02/2012'},
        {'address': '4801 N BROADWAY', 'date': '07/01/2012'},
        {'address': '1039 W GRANVILLE', 'date': '07/04/2012'},
    ]
    
    rows.sort(key=itemgetter('date'))
    
    for date, items in groupby(rows, key=itemgetter('date')):
        print(date)
        for i in items:
            print(i) 

    用法二:

    groupby() 函数可以进行数据的分组以及分组后的组内运算

    print(df["评分"].groupby([df["地区"],df["类型"]]).mean())

    该条语句的功能:输出数据中不同地区不同类型的评分的平均值。

    来自:python3-cookbook

  • 相关阅读:
    nodejs cheerio模块提取html页面内容
    简短的perl程序
    laravel 模型操作
    Laravel 学习笔记
    记录一下应该养成的好习惯
    phpstudy设置允许远程访问mysql数据库
    删除专家账号,要注意删干净
    使用 Composer 安装Laravel扩展包的几种方法
    上传文件太大,后台无法获取到文件的问题
    在Laravel中使用mongoDB
  • 原文地址:https://www.cnblogs.com/keye/p/13214075.html
Copyright © 2011-2022 走看看