PySpark - фильтрация выбора по условию .groupby - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь использовать функцию .groupBy, чтобы найти оценку AVG на основе позиции по стране, где страна = США

Это мой текущий код: этот код работает для отображения всех национальностей, но я просто хотите, чтобы он отображал среднюю оценку на основе позиции только для игроков из США. Любая помощь будет высоко ценится.

df.groupby(['Nationality', 'Position])\
    .agg({"Score": "AVG"})\
    .orderBy("Nationality", ascending=True)\
    .show()

1 Ответ

1 голос
/ 04 апреля 2020

Просто вставьте df.filter(df.Nationality == "USA) перед вашей группой.

df.filter(df.Nationality == "USA")\
.groupby(['Nationality', 'Position'])\
.agg({"Score": "AVG"})\
.orderBy("Nationality", ascending=True)\
.show()
...