迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

Pandas 中的 GroupBy 和聚合多列数据

作者:迹忆客 最近更新:2024/04/23 浏览次数:

Pandas 库是 Python 中一个强大的数据分析库。我们可以在 Python 中使用 Pandas 对数据框执行许多不同类型的操作。

groupby() 是一种根据特定标准将数据分成多个组的方法。之后,我们可以对分组的数据进行某些操作。


在 Pandas Python 中的多列上应用 groupby()aggregate() 函数

有时我们需要对来自多个列的数据进行分组并应用一些 aggregate() 方法。aggregate() 方法是那些将多行的值组合并返回单个值的方法,例如 count()size()mean()sum()mean()

在以下代码中,我们的学生数据包含某些列的冗余值。如果你想根据学生的姓名部门对数据进行分组以获得他们的总分,我们将根据名称和部门对数据进行分组,然后使用 aggregate() 方法计算总分。

我们已经存储了返回的结果并显示了它。

示例代码:

# Python 3.x
import pandas as pd

student = {
    "Name": ["Jhon", "Alia", "Jhon", "Alia", "Sam", "Smith", "Sam", "Smith"],
    "Section": ["A", "A", "A", "A", "B", "B", "B", "B"],
    "Course": ["Java", "Java", "Dart", "Dart", "Java", "Java", "Dart", "Dart"],
    "Marks": [70, 80, 90, 60, 80, 90, 50, 80],
}
df = pd.DataFrame(student)
display(df)
result = df.groupby(["Name", "Section"]).aggregate("sum")
display(result)

输出:

我们还可以一次执行多个聚合操作。我们会将操作名称列表传递给 aggregate() 方法。

在这里,我们通过传递操作名称列表,使用 aggregate() 方法一次计算学生的平均分和总分。

示例代码:

# Python 3.x
import pandas as pd

student = {
    "Name": ["Jhon", "Alia", "Jhon", "Alia", "Sam", "Smith", "Sam", "Smith"],
    "Section": ["A", "A", "A", "A", "B", "B", "B", "B"],
    "Course": ["Java", "Java", "Dart", "Dart", "Java", "Java", "Dart", "Dart"],
    "Marks": [70, 80, 90, 60, 80, 90, 50, 80],
}
df = pd.DataFrame(student)
display(df)
result = df.groupby(["Name", "Section"]).aggregate(["mean", "sum"])
display(result)

输出:

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何从 Pandas 的日期时间列中提取月份和年份

发布时间:2024/04/23 浏览次数:124 分类:Python

我们可以分别使用 dt.year()和 dt.month()方法从 Datetime 列中提取出年和蛾。我们还可以使用 pandas.DatetimeIndex.month 以及 pandas.DatetimeIndex.year 和 strftime()方法提取年份和月份。

Pandas 填充 NaN 值

发布时间:2024/04/23 浏览次数:186 分类:Python

本教程解释了我们如何使用 DataFrame.fillna()方法用指定的值填充 NaN 值。

DataFrame 获取给定列的第一行

发布时间:2024/04/22 浏览次数:51 分类:Python

本教程介绍了如何在 Pandas DataFrame 中使用 Series.loc()和 Series.iloc()方法获取给定列的第一行。

Pandas 重命名多个列

发布时间:2024/04/22 浏览次数:186 分类:Python

本教程演示了如何使用 Pandas 重命名数据框中的多个列。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便