下面的代码不起作用需要帮助。我正在尝试使用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)
答案 0 :(得分:0)
如果我误解了您的问题,请纠正我。
如果只想将相应的行与第一列字符串进行比较。以下操作应该有效,这里a
和b
是数据框的列
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")
尽管这不是最有效的解决方案,但您始终可以使用哈希进行字符串比较。