PySpark - 根据条件 .groupby 过滤选择

PySpark - Filtering Selecting based on a condition .groupby

我正在尝试使用 .groupBy 函数来查找基于国家/地区排名的 AVG 分数,其中国家/地区 = 美国

这是我当前的代码:此代码适用于显示每个国籍,但我只希望它显示基于位置的平均分数,仅适用于美国球员。任何帮助将不胜感激。

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

只需在您的分组前插入 df.filter(df.Nationality == "USA)

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