在Pandas数据分析中,groupby操作是非常常见的操作,它允许我们根据一个或多个列,将数据框架中的行进行分组,并对每组进行聚合操作。有时,我们需要将分组后的行以列表的形式展示出来,以便查看每组的具体内容。下面将详细讲解如何在Pandas Groupby中把数据框架的行分组到列表中。
示例数据
我们使用如下的数据框架作为示例:
import pandas as pd
data = {'name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily', 'Frank', 'Grace'],
'group': [1, 1, 2, 2, 2, 1, 2],
'score': [86, 92, 89, 78, 88, 90, 94]}
df = pd.DataFrame(data)
print(df)
输出结果如下:
name group score
0 Alice 1 86
1 Bob 1 92
2 Charlie 2 89
3 David 2 78
4 Emily 2 88
5 Frank 1 90
6 Grace 2 94
该数据框架包含了学生的姓名、小组号以及成绩。
将数据框架的行分组到列表中
下面我们将使用groupby方法将数据框架的行分组到列表中:
grouped = df.groupby('group')
for name, group in grouped:
print('Group: {}'.format(name))
print(group.values.tolist())
print('-' * 30)
输出结果如下:
Group: 1
[['Alice', 1, 86], ['Bob', 1, 92], ['Frank', 1, 90]]
------------------------------
Group: 2
[['Charlie', 2, 89], ['David', 2, 78], ['Emily', 2, 88], ['Grace', 2, 94]]
------------------------------
从上述代码中,我们可以看到,groupby方法可以按照指定的列进行分组,这里我们按照’group’列进行分组。grouped对象是一个迭代对象,其中包含了每个分组的名称以及对应的数据框架。我们使用循环遍历每个分组,获取分组的名称以及分组数据框架,然后使用values.tolist()方法将数据框架的每行转换成一个列表,并打印输出。
至此,我们已经详细讲解了如何在Pandas Groupby中把数据框架的行分组到列表中的完整攻略,希望对你有所帮助。