📜  如何在 pyspark 中聚合多个列 - Python (1)

📅  最后修改于: 2023-12-03 14:52:29.689000             🧑  作者: Mango

如何在 pyspark 中聚合多个列

在 pyspark 中,聚合多个列是非常常见的操作,通常用于统计函数计算和数据汇总。本文将介绍如何在 pyspark 中聚合多个列。

示例数据

首先,我们需要准备一份示例数据,用来演示如何聚合多个列。假设我们有一个包含两个字段(姓名和年龄)的数据集,用来记录一组人员的基本信息。数据如下:

+-----+---+
| name|age|
+-----+---+
|John | 25|
|Jane | 30|
|John | 35|
|Jane | 40|
+-----+---+
pyspark 中聚合多个列的方法

假设我们要计算每个人的平均年龄,可以使用 groupBy()agg() 函数来实现。具体方法如下:

from pyspark.sql.functions import avg

# 读取示例数据
data = spark.createDataFrame([( "John", 25 ), ( "Jane", 30 ), ( "John", 35 ), ( "Jane", 40 )], ["name", "age"])

# 聚合数据
result = data.groupBy("name").agg(avg("age"))

# 显示结果
result.show()

执行上述代码后,程序会对数据集进行分组,然后计算每个人的年龄平均值。输出结果如下:

+----+--------+
|name|avg(age)|
+----+--------+
|John|    30.0|
|Jane|    35.0|
+----+--------+
总结

本文介绍了在 pyspark 中如何聚合多个列。通过示例数据和代码演示,我们了解了使用 groupBy()agg() 函数来实现聚合操作的方法。当你需要对数据进行多个字段的汇总计算时,可以借鉴本文介绍的方法。