码迷,mamicode.com
首页 > 其他好文 > 详细

spark dataframe 将null 改为 nan

时间:2018-07-09 19:15:05      阅读:484      评论:0      收藏:0      [点我收藏+]

标签:rom   ima   isnull   技术   img   float   null   ram   obs   

由于我要叠加rdd某列的数据,如果加数中出现nan,结果也需要是nan,nan可以做到,但我要处理的数据源中的nan是以null的形式出现的,null不能叠加,而且我也不能删掉含null的行,于是我用了sparksql 的 ISNULL和CASE WHEN方法:

Case When 方法:

如果obs_PRE_1h列有值则不变,没有则变为nan,注意这里的nan需要写成 float(‘NaN’) 

SELECT (CASE WHEN ISNULL(obs_PRE_1h)=true THEN float(‘NaN‘) ELSE obs_PRE_1h END) as obs,(CASE WHEN ISNULL(fcst_PRE_1h)=true THEN float(‘NaN‘) ELSE fcst_PRE_1h END) as fcst FROM parquetFile 

 


 源dataframe是这样的:

技术分享图片

结果:

技术分享图片

 

spark dataframe 将null 改为 nan

标签:rom   ima   isnull   技术   img   float   null   ram   obs   

原文地址:https://www.cnblogs.com/sunhuahuaa/p/9285111.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!