首页 文章

删除scala中数据框中的列表元素

提问于
浏览
0

我是scala的新手并且正在努力使用这些用例 . 如何从dataframe中的coloumn中删除列表的元素部分 . 我有一个名称列表,如果名称存在于数据框中,我需要删除它们 .

我有数据帧

utid|description
12342|my name is daniel
2345|my name is harry and i love sports
2122|his wife sofia is my schoolmate

和列表清单{“harry”,“daniel”}

输出应该是这样的

utid|description
12342|my name is 
2345|my name is  and i love sports
2122|his wife sofia is my schoolmate

1 回答

  • 1

    最简单的方法是使用 regexp_replace 内置函数作为

    val list = List("harry","daniel")
    
    import org.apache.spark.sql.functions._
    df.withColumn("description", regexp_replace(col("description"), list.mkString("(", ")|(", ")"), "")).show(false)
    

    哪个应该给你

    +-----+-------------------------------+
    |utid |description                    |
    +-----+-------------------------------+
    |12342|my name is                     |
    |2345 |my name is  and i love sports  |
    |2122 |his wife sofia is my schoolmate|
    +-----+-------------------------------+
    

    我希望答案是有帮助的

相关问题