You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何操作Spark DataFrame按姓名分组计算Cost的最大最小值

PySpark DataFrame API 实现方案

首先导入需要的聚合函数:

from pyspark.sql import functions as F

对 spark_df 直接做分组聚合即可:

result_df = spark_df.groupBy("Name") \
    .agg(
        F.min("Cost").alias("min_Cost"),
        F.max("Cost").alias("max_cost")
    )

调用show()方法即可查看输出结果:

result_df.show()

Spark SQL 实现方案

如果更习惯SQL语法,可以先将DataFrame注册为临时视图再执行查询:

# 注册临时视图
spark_df.createOrReplaceTempView("cost_temp_table")

# 执行SQL聚合查询
result_df = spark.sql("""
    SELECT Name,
           MIN(Cost) AS min_Cost,
           MAX(Cost) AS max_cost
    FROM cost_temp_table
    GROUP BY Name
""")

两种写法底层会生成完全一致的执行计划,都是分布式执行,不需要拉取全量数据到Driver节点,适合大数据量场景使用。

内容的提问来源于stack exchange,提问作者a b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:48:05