Python 多列上的多个聚合

Python 多列上的多个聚合,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,我正在Pyspark框架中使用Python。 我正在尝试使用groupby 我有一个df,列为col1,col2,col3,col4 我想做一些类似的事情: df.groupby(“col1”).sum(“col2”、“col3”).avg(“col4”) 但我得到了一个错误: “DataFrame”对象没有属性“avg” 回溯(最近一次呼叫最后一次): 文件“/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/dataframe.py”,第130

我正在Pyspark框架中使用Python。 我正在尝试使用
groupby

我有一个df,列为
col1
col2
col3
col4
我想做一些类似的事情:
df.groupby(“col1”).sum(“col2”、“col3”).avg(“col4”)

但我得到了一个错误:

“DataFrame”对象没有属性“avg” 回溯(最近一次呼叫最后一次): 文件“/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/dataframe.py”,第1301行,位于getattr “%s”对象没有属性“%s”(self.名称,名称)) AttributeError:“DataFrame”对象没有属性“avg”


这是我在模块中的工作方式:

import pyspark.sql.functions as Functions

df2=df.groupBy('col1').agg(Functions.sum('col2'),Functions.sum('col3'),Functions.avg('col4'))

和的可能副本