按组从agg函数创建新列

问题描述 投票:0回答:1

我使用以下代码将大数据集汇总为聚合级别,以便绘制图形。

a = b.groupBy("year","month").agg(sum("dollar")/sum("value").alias("pct"))

但是当调用a的列'pct时,出现以下错误:

Py4JJavaError: An error occurred while calling o16779.select.
: org.apache.spark.sql.AnalysisException: cannot resolve '`pct`' given input columns:

您知道如何在agg函数下创建新列'pct',以便以后使用吗?

python pyspark pyspark-sql pyspark-dataframes
1个回答
0
投票
尝试将您的部门包含在

()中,然后执行.alias()

a = b.groupBy("year","month").agg((sum("dollar")/sum("value")).alias("pct")) #now you can select pct column from a a.select("pct").show()
© www.soinside.com 2019 - 2024. All rights reserved.