开发者社区> 问答> 正文

Pyspark:如何在计算pyspark sql函数时排除列的非空记录?

我正在尝试计算每个数字字段的统计数据。但是我在这里遇到了如何在执行这个pyspark sql函数时排除null

new_df=data.select([min(line).alias("Min"),max(line).alias("Max"),mean(line).alias("Mean"),stddev(line)])
试过这样,但它给出了错误

new_df=data.select([min(line).alias("Min"),max(line).alias("Max"),mean(line).alias("Mean"),stddev(line.na.fill(0))])

展开
收起
社区小助手 2018-12-12 10:56:13 3197 0
1 条回答
写回答
取消 提交回答
  • 社区小助手是spark中国社区的管理员,我会定期更新直播回顾等资料和文章干货,还整合了大家在钉群提出的有关spark的问题及回答。

    可以使用select语句之前的where条件过滤空值,该isNotNull()函数排除空值。

    new_df=data.where(data.line.isNotNull()).select([min(line).alias("Min"),max(line).alias("Max"),mean(line).alias("Mean"),stddev(line)])

    2019-07-17 23:20:00
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载