Python 设置变量列的平均值/平均值
我有一个数据框,我想得到一列的平均值。如果我得到这样的结果:Python 设置变量列的平均值/平均值,python,apache-spark,pyspark,Python,Apache Spark,Pyspark,我有一个数据框,我想得到一列的平均值。如果我得到这样的结果: avg_NoPItems = df.groupBy().mean('NoPItems').collect() 后来我不能用它与任何值进行比较,因为我得到了一个数据帧对象。那么,我怎样才能得到作为数字而不是数据帧的平均值呢 PD:我试过这个,但不起作用: avg_NoPItems = df.groupBy().mean('NoPItems').collect()[0] mean('NoPItems').collect()将返回行对象
avg_NoPItems = df.groupBy().mean('NoPItems').collect()
后来我不能用它与任何值进行比较,因为我得到了一个数据帧对象。那么,我怎样才能得到作为数字而不是数据帧的平均值呢
PD:我试过这个,但不起作用:
avg_NoPItems = df.groupBy().mean('NoPItems').collect()[0]
Neeraj为什么要使用group by,我想你可以简单地选择(mean(“NoPItems”):df.select(mean(“NoPItems”).as(“mean”)。首先。getAs[Double](“mean”)我不能用那个,pyspark说,
…as(“mean”)…
对不起,我正在使用scala,对于python,我认为是(但不确定):df.select(mean(“NoPItems”)。别名(“平均值”)。首先mean“]
两者都不起作用TypeError:'method'对象不可下标
我找到了一个临时解决方案:df.groupBy().mean('NoPItems').collect()[0][0]
这就是解决方案。谢谢