Pandas 中的 GroupBy 和聚合多列数据
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)
输出:
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串