我有一些DataFrame:
data=[('Alice',1),('Bob',2),('Alice',5)]
并计算一个像这样的平均值:
value = dataF.groupBy().mean().collect()
结果:
[Row(avg(age)=2.6666666666666665)]
如何将其转换为浮动?当我使用round
函数时:
print round(value,2)
我收到TypeError: a float is required
错误。
答案 0 :(得分:2)
value = dataF.groupBy()。mean()。head()[0]
答案 1 :(得分:1)
对于简单转换,可以执行类似
的操作val test_df = dataDF.withColumn("xx", $"yy".cast("float"))
如果需要就地转换,也可以使用UDF。希望这会有所帮助。
答案 2 :(得分:0)
value =(round(float(dataF.groupBy()。avg('age')。first()[0]),2))