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

如何在Pyspark中实现groupby分组汇总统计?

PySpark 对等实现代码

和你提供的pandas逻辑完全一致的实现如下:

from pyspark.sql import functions as F

# packet 为已读取到PySpark环境中的DataFrame对象
packetmonthly = packet.groupBy("year", "month", "customer_id") \
    .agg(
        F.sum("amount").alias("packet_sum"),
        F.min("amount").alias("packet_min"),
        F.max("amount").alias("packet_max"),
        F.avg("amount").alias("packet_avg")
    )

逻辑说明

  • PySpark原生的groupBy+agg组合直接对应pandas的分组聚合逻辑,不需要像pandas一样通过apply构造Series生成聚合列,性能远高于自定义UDF实现
  • 聚合完成后分组列year、month、customer_id默认保留在结果中,不需要额外执行reset_index()操作
  • 四个聚合函数的默认行为和pandas完全一致,会自动忽略amount字段的空值

内容的提问来源于stack exchange,提问作者Nabih Bawazir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:57:03