我使用下面的代码来获取工资高于某个阈值的人的平均年龄。
dataframe.filter(df['salary'] > 100000).agg({"avg": "age"})
列年龄是数字(浮点数),但我仍然得到这个错误。
py4j.protocol.Py4JJavaError: An error occurred while calling o86.agg.
: scala.MatchError: age (of class java.lang.String)
您知道没有使用groupBy
函数和SQL查询就可以获得avg等的任何其他方法吗。
聚合函数应该是值,列名应该是键:
或者可以使用
pyspark.sql.functions
:也可以使用
CASE .. WHEN
相关问题 更多 >
编程相关推荐