将一个DF列表中的单词与另一个DF列表(pandas,Python3)匹配

时间:2014-10-02 19:46:59

标签: python-3.x pandas

我有一个名为kw的df,看起来像这样:

Words                     Score
Hello Joe                  2
Where is the market        3
Do you speak english       4
Where am I? 

我有一个这样的辅助列表(kw2):

Strings            Label
Market             Action
Speak English      Question
Am I               Question

我想做什么:我想在我的第一个列表(kw)中找到包含第二个df(kw2)中的单词的所有字符串,然后找到匹配项,创建一个包含匹配单词的新列。这些必须是'精确'匹配(即'风'不能匹配'缠绕')

基于上面的例子,我想要的输出是这样的:

Words                   Score     Match
Hello Joe                 2       N/A
Where is the market?      3       market
Do you speak english      4       speak english
where am I                1       am i

有没有办法在熊猫中实现这一目标?

编辑:这是我到目前为止所尝试的完全不起作用的内容!

def findwords(w,string):
    pattern = re.compile(r'\b({0})\b'.format(w), flags=re.IGNORECASE)
    if pattern.search(string):
        return kw['Match'] = w
    else:
        return False

findwords(kw,kw2))

0 个答案:

没有答案