首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在上的字符串中添加一个字符的索引列?

如何在上的字符串中添加一个字符的索引列?
EN

Stack Overflow用户
提问于 2018-05-25 12:54:51
回答 1查看 249关注 0票数 1

我有一个带有二进制字符串列的星星之火数据格式。我想在列的每个元素中添加一个索引为1的dataframe列。

我有一个获取索引的模式匹配函数,但是我需要将这个函数应用到列中。

代码语言:javascript
复制
def patternMatching(pattern: String, str: String): List[Int] =
  pattern.r.findAllMatchIn(str).map(_.start).toList


patternMatching("1", "000110010010001110")

最终,我要做的是得到下面的数据;

代码语言:javascript
复制
Binary_String   |   Vec
         1010   |   List(1,3)
         1100   |   List(1,2)
         0010   |   List(3)
         0000   |   List()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-25 13:50:00

您可以定义一个UDF:

代码语言:javascript
复制
val patternMatching = udf((pattern: String, str: String) => 
    pattern.r.findAllMatchIn(str).map(_.start).toList)

将其应用于某一栏:

代码语言:javascript
复制
Seq("000110010010001110").toDF("x")
    .select(patternMatching(lit("0"),col("x")).as("x"))
    .show()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50529741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档