两列之间的字符串匹配

时间:2019-12-27 08:19:17

标签: python string

下面的代码不起作用需要帮助。我正在尝试使用python比较两列。我想检查“ c1”列下的字符串是否在“名称”列中。我想要的结果是1或0

for i in string_match["c1"]:
for j in string_match["Name"]:
    if i in j:
        result = "1"
    else:
        result = "0"

这是可行的替代选项。 string_match ['new'] = string_match.apply(lambda x:x.Component_Name_EDS中的x.c1,axis = 1)

table

1 个答案:

答案 0 :(得分:0)

如果我误解了您的问题,请纠正我。 如果只想将相应的行与第一列字符串进行比较。以下操作应该有效,这里ab是数据框的列

df.apply(lambda x: x.a in x.b, axis=1)

但是如果您想将第二列中的每个单词与其他单词进行比较,如果与第二列中的任何一个字符串匹配,则返回1,那么

for word in df.a:
 print("1" if any(df.b.apply(lambda x: word in x)) else "0")

尽管这不是最有效的解决方案,但您始终可以使用哈希进行字符串比较。