我使用以下代码来获得薪水大于某个门槛的人的平均年龄。
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查询的情况下,您是否知道获取平均等的任何其他方法。
答案 0 :(得分:0)
您也可以尝试以下方法:
dataframe.filter(df['salary'] > 100000).groupBy().avg('age')