def myFunction(df: DataFrame): DataFrame = {
val myList= List("a","b","c")
df
.withColumn("myFlag",
if (myList.contains(df.select(col("columnName1")))) lit("true") else lit(false))
}
我想编写一个函数,该函数接受一个Dataframe,并向其中添加一个名为“ myFlag”的列。
如果相应的“ columnName1”的值是“ myList”的元素,我希望“ myFlag”为 true ,否则为 false 。
为简单起见,“ columnName1”值和“ myList”仅包含字符串。
我上面的功能不起作用。有什么建议吗?
答案 0 :(得分:1)
这可以使用isin
上定义的Column
来完成:
df
.withColumn("myFlag",$"columnName1".isin(myList:_*))