多个列上的多个聚合

时间:2019-09-27 16:46:19

标签: python apache-spark pyspark

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

在不同的列上应用不同的聚合

我有一个包含col1col2col3col4列的df 我想做类似的事情: df.groupby("col1").sum("col2", "col3").avg("col4")

但是我遇到一个错误:

  

“ DataFrame”对象没有属性“ avg”   追溯(最近一次通话):      getattr 中的文件“ /usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/dataframe.py”,第1301行       “'%s'对象没有属性'%s'”%(自身。名称,名称))   AttributeError:“ DataFrame”对象没有属性“ avg”

1 个答案:

答案 0 :(得分:0)

这是我在模块中执行的操作:

import pyspark.sql.functions as Functions

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