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

  • 相关阅读:
    uboot misc
    Android Q dynamic partition
    Android Verified Boot 2.0简要
    dts参考资料
    SWT问题分析总结
    lzma文件及命令简介
    C++之继承
    C++之常指针
    C++之对象成员指针
    C++之对象指针
  • 原文地址:https://www.cnblogs.com/keye/p/13214075.html
Copyright © 2011-2022 走看看