This question already has answers here:
Create new Dataframe with empty/null field values

(2个答案)


9个月前关闭。




我正在使用Scala编程语言。我想使数据框的整个列无效。

如果这不可能,那么我至少要放一个空字符串

做以上两个中的任何一个的有效方法是什么?

注意:我不想添加新列,但想对现有列进行操作

谢谢

最佳答案

您可以直接使用具有相同列名的.withColumnspark 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   |
//+---+----+

07-24 09:52
查看更多