网络知识
python相同数据分组
2026-04-02 15:47  点击:0

Python是一门功能强大的编程语言,提供了很多方便操作数据的功能。其中,分组同样是一个非常有用的操作。

在Python中,我们可以使用内置的groupby函数来对数据进行分组。该函数可以根据指定的键值将一组数据分成一个个小组,每个小组包含相同键值的数据。使用groupby函数需要先将数据进行排序。

# 引入groupby模块from itertools import groupby# 数据集合data = [{'name': 'Amy', 'age': 20, 'gender': '女'},{'name': 'Bob', 'age': 26, 'gender': '男'},{'name': 'Claire', 'age': 20, 'gender': '女'},{'name': 'Dave', 'age': 25, 'gender': '男'},{'name': 'Eva', 'age': 23, 'gender': '女'},{'name': 'Frank', 'age': 24, 'gender': '男'},{'name': 'Grace', 'age': 22, 'gender': '女'}]# 先按age排序再分组data.sort(key=lambda x:x['age'])grouped = groupby(data, key=lambda x:x['age'])for key, group in grouped:print(key, list(group))

以上代码首先定义了一个数据集合data,该集合包含了每个人的名字、年龄和性别。在进行分组前,我们需要先对数据集合进行排序,以确保相同的键值会被分在一组中。

本例中我们采用的是按照年龄升序排序,然后对其进行分组。groupby函数得到的结果是按照键值分组后的迭代器,我们可以通过循环遍历分组后的结果。

以上代码输出结果如下:

20 [ {'name': 'Amy', 'age': 20, 'gender': '女'},  {'name': 'Claire', 'age': 20, 'gender': '女'}]22 [ {'name': 'Grace', 'age': 22, 'gender': '女'}]23 [ {'name': 'Eva', 'age': 23, 'gender': '女'}]24 [ {'name': 'Frank', 'age': 24, 'gender': '男'}]25 [ {'name': 'Dave', 'age': 25, 'gender': '男'}]26 [ {'name': 'Bob', 'age': 26, 'gender': '男'}]

可以看到,groupby函数将数据根据年龄分成了不同的小组,每个小组包含相同年龄的人的信息。

总之,在Python中使用groupby函数对数据进行分组是非常方便的,将帮助我们对大数据集合更高效地进行处理。