This question already has answers here:
Create new Dataframe with empty/null field values
(2个答案)
9个月前关闭。
我正在使用Scala编程语言。我想使数据框的整个列无效。
如果这不可能,那么我至少要放一个空字符串
做以上两个中的任何一个的有效方法是什么?
注意:我不想添加新列,但想对现有列进行操作
谢谢
(2个答案)
9个月前关闭。
我正在使用Scala编程语言。我想使数据框的整个列无效。
如果这不可能,那么我至少要放一个空字符串
做以上两个中的任何一个的有效方法是什么?
注意:我不想添加新列,但想对现有列进行操作
谢谢
最佳答案
您可以直接使用具有相同列名的.withColumn
和spark replaces
该列。
import org.apache.spark.sql.functions._
val df=Seq(("1","a"),("2","b")).toDF("id","name")
df.show()
//+---+----+
//|id |name|
//+---+----+
//|1 |a |
//+---+----+
val df1=df.withColumn("id",lit(null)) //to keep null value for id column
df1.show()
//+----+----+
//|id |name|
//+----+----+
//|null|a |
//+----+----+
val df2=df.withColumn("id",lit("")) //to keep empty string "" value for id column
df2.show()
//+---+----+
//|id |name|
//+---+----+
//| |a |
//+---+----+