Pandas DataFrame Groupby 方法

Beginner

介绍

在本实验中,我们将学习如何在 Python 的 Pandas 库中使用 groupby() 方法。groupby() 方法允许我们将一个 DataFrame 分割成多个组,并对每个组进行计算或统计分析。它是数据分析和操作中的一个强大工具。

虚拟机使用提示

虚拟机启动完成后,点击左上角切换到 Notebook 标签页,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟,直到 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时可以向 Labby 寻求帮助。请在实验结束后提供反馈,我们将及时为你解决问题。

导入必要的库并创建 DataFrame

首先,我们需要导入 Pandas 库并创建一个 DataFrame 对象。以下是一个示例:

import pandas as pd

data = {'Name': ['Avinash', 'Amrutha', 'Chetana', 'Kartik','Nikhil'],
        'Percentage': [72, 98, 81, 87,85],
        'Course': ['Arts','B.Com','M.Tech','B.SC','BE']}

df = pd.DataFrame(data)

按单列对 DataFrame 进行分组

要按单列对 DataFrame 进行分组,可以使用 groupby() 方法,并将列名作为参数传入。以下是一个示例:

grp = df.groupby('Course')

访问分组

要访问分组后的 DataFrame 中的组,可以使用 groups 属性。它会返回一个字典,其中键是组名,值是对应组中行的索引。以下是一个示例:

print(grp.groups)

按多列对 DataFrame 进行分组

要按多列对 DataFrame 进行分组,可以将列名的列表传递给 groupby() 方法。以下是一个示例:

grp = df.groupby(['Course', 'Name'])

选择单个分组

要从分组后的 DataFrame 中选择单个组,可以使用 get_group() 方法,并将组名作为参数传入。以下是一个示例:

print(grp.get_group(('Arts', 'Avinash')))

执行聚合操作

在获得分组后的 DataFrame 后,你可以对分组数据执行聚合操作。例如,你可以计算每个组中数值列的平均值。以下是一个示例:

print(grp['Percentage'].mean())

总结

在本实验中,我们学习了如何使用 Pandas 库中的 groupby() 方法按一列或多列对 DataFrame 进行分组。我们还学习了如何访问分组、选择单个组以及对分组数据执行聚合操作。groupby() 方法是数据分析和操作的强大工具,能够通过分组分析帮助我们从中获取洞察。