Несколько агрегаций на нескольких столбцах - PullRequest
0 голосов
/ 27 сентября 2019

Я использую Python в рамках Pyspark.Я пытаюсь применить различные агрегации к разным столбцам, используя groupby

У меня есть df со столбцами col1, col2, col3, col4 Я хочу сделать что-то вроде: df.groupby("col1").sum("col2", "col3").avg("col4")

Но я получаю сообщение об ошибке:

Объект 'DataFrame' не имеет атрибута 'avg' Traceback (последний вызов был последним): Файл "/ usr / lib / spark /python / lib / pyspark.zip / pyspark / sql / dataframe.py ", строка 1301, в getattr " Объект "% s" не имеет атрибута "% s" "% (self. class. name , name)) AttributeError: у объекта «DataFrame» нет атрибута «avg»

1 Ответ

0 голосов
/ 28 сентября 2019

Вот как я делаю это в своих модулях:

import pyspark.sql.functions as Functions

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...