多个熊猫系列中的子串

时间:2018-02-06 22:22:08

标签: python string pandas

我正在尝试找到一种方法来搜索字符串中的子字符串,以解决像这样的问题

findin = pd.Series({1:'abcab', 2: 'abab',3: 'abcdaa', 4:'cabca'})
what = pd.Series({1:'b',2: 'a',3: 'bc',4: 'abc'})

其中"什么"是我正在寻找和"寻找"是我想要搜索的值 我希望输出类似于

1 4
0 3 
1
1

我尝试过的每一种方法都会对出现的不同数量的值感到沮丧。我一直在"数据必须是1维的#34;例如使用像

这样的方法
list(map(lambda x, y: x.find(y), findin, what))

我觉得扩展需要在这里,但它在哪里?

1 个答案:

答案 0 :(得分:1)

您可以在函数中使用正则表达式,并在create系列:

上应用
findin

输出:

c = iter(range(1, 5))

def func(x):
    ind = next(c)
    return [i.start() for i in re.finditer(what[ind], x)]

findin.apply(func)