spark dataframe 將null 改為 nan


由於我要疊加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是這樣的:

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM