dataframe scala 修改值_python – 使用Scala的API替换DataFrame的值
我需要替換DataFrame列中的一些值(模式的空值和零值,我知道這種方法不是很準確,但我只是在練習).我精通Apache Spark的
Python文檔,這些例子往往更具說明性.因此,除了Scala文檔之外,我決定首先查看一下,我注意到使用DataFrames的
replace方法可以實現我所需要的功能.
在此示例中,我將列col中的所有2到20替換.
df = df.replace(“2”,“20”,subset =“col”)
在對Python API有了一些信心之后,我決定在Scala上復制它,我注意到Scala文檔中有些奇怪的東西.首先,顯然DataFrames沒有替換方法.其次,經過一些研究,我注意到我必須使用DataFrameNaFunctions的替換功能,但這是罕見的部分,如果你看到該方法的細節,你會注意到他們使用這個功能的方式與python實現中的相同(參見圖片如下).
在此之后,我嘗試在Scala中運行并爆炸,顯示下一個錯誤:
Name: Compile Error
Message: :108: error: value replace is not a member of org.apache.spark.sql.DataFrame
val dx = df.replace(column,Map(0.0 -> doubleValue))
^
StackTrace:
然后我嘗試使用DataFrameNaFunctions來應用替換,但是我不能讓它像在python中一樣簡單,因為我遇到了錯誤,我不明白為什么.
val dx = df.na.replace(column,Map(0.0 -> doubleValue))
出現錯誤:
Name: Compile Error
Message: :108: error: overloaded method value replace with alternatives:
[T](cols: Seq[String],replacement: scala.collection.immutable.Map[T,T])org.apache.spark.sql.DataFrame
[T](col: String,T])org.apache.spark.sql.DataFrame
[T](cols: Array[String],replacement: java.util.Map[T,T])org.apache.spark.sql.DataFrame
cannot be applied to (String,scala.collection.mutable.Map[Double,Double])
val dx = df.na.replace(column,Map(0.0 -> doubleValue))
^
總結
以上是生活随笔為你收集整理的dataframe scala 修改值_python – 使用Scala的API替换DataFrame的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英寸和厘米的交互python_Pytho
- 下一篇: 数字系统设计学习之QuartusII9的