如何将数据框的列值替换为与输入值匹配的空字符串?

阿达什·卡达梅里

输入数据框

val ds = Seq((1,"play Framwork"),
  (2,"Spark framework"),
  (3,"spring framework")).toDF("id","subject")

预期数据框

val ds = Seq((1,""),
  (2,"Spark framework"),
  (3,"spring framework")).toDF("id","subject")

play Framwork如果我的搜索字符串为,此处的值将替换为空字符串play Framwork

如果我的搜索字符串play它,则不应替换单元格中的值。

当我使用以下功能

def replaceUsingRegEx(dataset: DataFrame, ColumnToBeTransformed: String, searchString: String): DataFrame = {
dataset.withColumn(ColumnToBeTransformed, regexp_replace(col(ColumnToBeTransformed), "(?i)" + searchString, ""))

}

它实际上是将值play替换为空,如下所示。

val ds = Seq((1,"  Framwork"),
      (2,"Spark framework"),
      (3,"spring framework")).toDF("id","subject") 

这不是预期的行为。我只想在搜索字符串与单元格值完全匹配时才替换单元格值。

如何修改regexp_replace函数以实现所需的结果。

拉梅什·马哈然(Ramesh Maharjan)

我只想在搜索字符串与单元格值完全匹配时才替换单元格值。

除了regexp_replace功能,您可以将when/otherwise功能用作

def replaceUsingRegEx(dataset: DataFrame, ColumnToBeTransformed: String, searchString: String): DataFrame = {
  dataset.withColumn(ColumnToBeTransformed, when(col(ColumnToBeTransformed) === searchString, "").otherwise(col(ColumnToBeTransformed)))
}

因此将函数称为

replaceUsingRegEx(ds, "subject", "play Framwork").show(false)

应该给你

+---+----------------+
|id |subject         |
+---+----------------+
|1  |                |
|2  |Spark framework |
|3  |spring framework|
+---+----------------+

请注意,上面的函数区分大小写如果您想忽略大小写,则可以将小写字母等同

def replaceUsingRegEx(dataset: DataFrame, ColumnToBeTransformed: String, searchString: String): DataFrame = {
  dataset.withColumn(ColumnToBeTransformed, when(lower(col(ColumnToBeTransformed)) === searchString.toLowerCase, "").otherwise(col(ColumnToBeTransformed)))
}

我希望答案是有帮助的

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将空字符串替换为对于同一PolicyNumber不为空的值

来自分类Dev

Pandas - 如何仅将数据框列中的空字符串值强制为 NaN

来自分类Dev

如何将空字符串值转换为可为空的日期值?

来自分类Dev

如何将熊猫数据框字符串值转换为数值

来自分类Dev

如何用NA(缺失值)而不是NA字符串替换数据框中的空字符串

来自分类Dev

替换与数据框中的某些字符串匹配的值

来自分类Dev

如何将UUID替换为带有输入框的字符串?

来自分类Dev

将列的值提取到字符串中并替换数据框列中的值

来自分类Dev

Python:在DataFrame中,如何将浮点值替换为字符串值?

来自分类Dev

如何将数据框列转换为字符串并替换nan(fillna不起作用)

来自分类Dev

使用JSF转换器输出时,将空字符串或空字符串替换为指定值

来自分类Dev

如何将具有多索引索引和具有字符串值的列的数据框转换为数据透视表?

来自分类Dev

匹配数据框中所有列的字符串,并估算或替换值

来自分类Dev

如何将SQLite列字符串值替换或转换为另一个字符串值?

来自分类Dev

熊猫数据框将N个小数后的数字替换为空字符串

来自分类Dev

当部分字符串匹配时,如何基于字典替换整个数据框中的值?

来自分类Dev

将字符串与不同数据框中的值匹配

来自分类Dev

如何使用Ramda将数组中的空字符串替换为另一个值?

来自分类Dev

如何将 JSON 字符串中的值“null”替换为“NaN”或“NaT”?

来自分类Dev

如何将数组中的非整数数字替换为空字符串 jQuery

来自分类Dev

将任何值为空字符串的对象字段替换为 null 而无需迭代?

来自分类Dev

如何将行值转换为包含字符串值的列?

来自分类Dev

Pandas,如何将列值从整数转换为预定义的字符串值

来自分类Dev

如何将数据框中的多个“字符串”列转换为日期时间列?

来自分类Dev

如何将组合框的值转换为 vba 模块中的字符串?

来自分类Python

将熊猫数据框中出现的每个字符串值替换为单独的浮动值

来自分类Dev

无法将输入值清除为空字符串

来自分类Dev

如何将列表中的值输入字符串?

来自分类Dev

如何将null转换为空字符串?

Related 相关文章

  1. 1

    如何将空字符串替换为对于同一PolicyNumber不为空的值

  2. 2

    Pandas - 如何仅将数据框列中的空字符串值强制为 NaN

  3. 3

    如何将空字符串值转换为可为空的日期值?

  4. 4

    如何将熊猫数据框字符串值转换为数值

  5. 5

    如何用NA(缺失值)而不是NA字符串替换数据框中的空字符串

  6. 6

    替换与数据框中的某些字符串匹配的值

  7. 7

    如何将UUID替换为带有输入框的字符串?

  8. 8

    将列的值提取到字符串中并替换数据框列中的值

  9. 9

    Python:在DataFrame中,如何将浮点值替换为字符串值?

  10. 10

    如何将数据框列转换为字符串并替换nan(fillna不起作用)

  11. 11

    使用JSF转换器输出时,将空字符串或空字符串替换为指定值

  12. 12

    如何将具有多索引索引和具有字符串值的列的数据框转换为数据透视表?

  13. 13

    匹配数据框中所有列的字符串,并估算或替换值

  14. 14

    如何将SQLite列字符串值替换或转换为另一个字符串值?

  15. 15

    熊猫数据框将N个小数后的数字替换为空字符串

  16. 16

    当部分字符串匹配时,如何基于字典替换整个数据框中的值?

  17. 17

    将字符串与不同数据框中的值匹配

  18. 18

    如何使用Ramda将数组中的空字符串替换为另一个值?

  19. 19

    如何将 JSON 字符串中的值“null”替换为“NaN”或“NaT”?

  20. 20

    如何将数组中的非整数数字替换为空字符串 jQuery

  21. 21

    将任何值为空字符串的对象字段替换为 null 而无需迭代?

  22. 22

    如何将行值转换为包含字符串值的列?

  23. 23

    Pandas,如何将列值从整数转换为预定义的字符串值

  24. 24

    如何将数据框中的多个“字符串”列转换为日期时间列?

  25. 25

    如何将组合框的值转换为 vba 模块中的字符串?

  26. 26

    将熊猫数据框中出现的每个字符串值替换为单独的浮动值

  27. 27

    无法将输入值清除为空字符串

  28. 28

    如何将列表中的值输入字符串?

  29. 29

    如何将null转换为空字符串?

热门标签

归档