美文网首页
Python通过Groupby实现分组

Python通过Groupby实现分组

作者: 北邮郭大宝 | 来源:发表于2021-05-10 17:35 被阅读0次

如果有对list里的元素按照某个字段进行分组的需求的话,可以通过itertools模块中的groupby实现。

举例,list中包含3个元素,希望通过country字段进行分组,再按组操作,通过itemgetter可以取dict中key。

from itertools import groupby
from operator import itemgetter

lst = [
    {
        "id": 1,
        "name": "张三",
        "age": 20,
        "country": "China"
    },
    {
        "id": 2,
        "name": "李四",
        "age": 21,
        "country": "China"
    },
    {
        "id": 3,
        "name": "Tom",
        "age": 18,
        "country": "USA"
    },
]
# 先排序
lst_sorted = sorted(lst, key=itemgetter('country'))
# groupby
for country, items in groupby(lst_sorted, key=itemgetter('country')):
    print(country)
    for item in items:
        print(item)

效果:


1620639084486.jpg

也可以通过lambda取dict中的字段。

# 排序
lst_sorted = sorted(lst, key=lambda x: x.get('country'))
# groupby
for country, items in groupby(lst_sorted, key=lambda x: x.get('country')):
    print(country)
    for item in items:
        print(item)

除此之外,还可以实现自定义分组

def group_by_age(item):
    if item.get("age") <= 18:
        return 'young'
    else:
        return 'adult'


lst_sorted = sorted(lst, key=lambda x: x.get('age'))
for tag, items in groupby(lst_sorted, key=group_by_age):
    print(tag)
    for item in items:
        print(item)

效果:


1620639057838.jpg

相关文章

  • Python通过Groupby实现分组

    如果有对list里的元素按照某个字段进行分组的需求的话,可以通过itertools模块中的groupby实现。 举...

  • 2019-04-10

    Python中的分组函数(groupby、itertools)

  • Python| Groupby分组聚合

    01 日常需求 今天我们继续对Python中pandas包进行学习。在我们的日常生活中,常常会出现一些需求,比如:...

  • 16 Pandas怎样实现groupby分组统计

    16 Pandas怎样实现groupby分组统计 类似SQL:select city,max(temperatur...

  • python--pandas分组聚合

    分组聚合是数据处理中常见的场景,在pandas中用groupby方法实现分组操作,用agg方法实现聚合操作。 环境...

  • pandas groupby 分组结果保存成DataFrame

    pandas groupby 分组结果保存成DataFrame 今天做项目需要将groupby分组结果保存 成Da...

  • js常用方法封装

    1.常用groupBy分组 static groupBy(ss: any[], fn: string | ((v)...

  • 代码学习

    通过reset_index()函数可以将groupby()的分组结果转换成DataFrame对象 pop() 函数...

  • Python 分组分析

    分组统计函数: groupby(by=【分组列1,分组列2,...】) [统计列1,统计列2,...] .agg(...

  • Day18 - 2018-04-20

    pandas groupby() groupby可以将dataFrame的数据按照给定的key去分组,将其中val...

网友评论

      本文标题:Python通过Groupby实现分组

      本文链接:https://www.haomeiwen.com/subject/ydiidltx.html