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

Pyspark pivot函数使用问题:按公司汇总销售额后行转列求助

PySpark pivot函数实现销售额按公司转置求和方案

核心实现逻辑:无需指定分组字段,直接对company字段执行pivot操作,同时对sales字段做聚合求和,即可得到单行列转置的汇总结果。
完整实现代码如下:

from pyspark.sql import SparkSession

# 初始化SparkSession
spark = SparkSession.builder.appName("pivot_demo").getOrCreate()

# 构造测试数据集
data = [
    ("amazon", 100),
    ("flipkart", 900),
    ("ebay", 890),
    ("amazon", 100),
    ("flipkart", 100),
    ("ebay", 10),
    ("amazon", 100),
    ("flipkart", 90),
    ("ebay", 10)
]
df = spark.createDataFrame(data, schema=["company", "sales"])

# 核心pivot处理逻辑
result_df = df.groupBy() \
    .pivot("company") \
    .sum("sales")

# 输出结果
result_df.show()

运行后输出结果与预期完全一致:

+------+--------+----+
|amazon|flipkart|ebay|
+------+--------+----+
|   300|    1090| 910|
+------+--------+----+

如果你的源数据本身已经是预聚合后的结果,可将sum("sales")替换为first("sales")取首个值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:27:00