我有一個 DataFrame,我想在其中獲取總空值計數,并且我有以下內容在所有列上一般執行此操作:
首先我的 DataFrame 只包含一列(為簡單起見):
val recVacDate = dfRaw.select("STATE")
當我使用簡單的過濾器列印時,我會看到以下內容:
val filtered = recVacDate.filter("STATE is null")
println(filtered.count()) // Prints 94051
但是,當我使用下面的代碼時,結果只有 1,我不明白為什么?
val nullCount = recVacDate.select(recVacDate.columns.map(c => count(col(c).isNull || col(c) === "" || col(c).isNaN).alias(c)): _*)
println(nullCount.count()) // Prints 1
關于 nullCount 有什么問題的任何想法?該列的 DataType 是一個字串。
uj5u.com熱心網友回復:
這種修復它:
df.select(df.columns.map(c => count(when(col(c).isNull || col(c) === "" || col(c).isNaN, c)).alias(c)): _*)
注意計數后使用when 子句。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/401914.html
下一篇:Akka服務器運行后立即停止
