如何用部分字符串对字符串进行分类并生成布尔列



假设我有以下字符串的第一个数据帧

a
abcd
dabcd
qwerty
oppoupou

然后我有第二个数据帧具有以下子字符串

column
abc
qw
qaz

我一直在寻找一个代码,可以对第一个数据框进行分类,并在第二个数据框中检查每一行的所有元素,并给出正确或错误的解决方案。例如,对于第一个元素,abcd,它被第二数据帧检查,它包含abc,所以abcd为真。那么第二个元素也为真,因为它包含abc。第三个元素为真,因为它包含qw。等。

那么第一个数据帧将返回:true, true, true, false

我找到了这段代码,但这只涵盖了单个元素,而不是整个数据框架

df["b"] = df["a"].str.contains("abc")

为布尔编码2个不同的字符串数据框架有什么建议吗?

您需要|在第二个DataFrame中的列col的连接值用于regexOR:

df["b"] = df["a"].str.contains('|'.join(df2['column']))
print (df)
a      b
0      abcd   True
1     dabcd   True
2    qwerty   True
3  oppoupou  False

最新更新