使用Python在Pandas系列中搜索单词

时间:2019-02-21 08:59:14

标签: python pandas pattern-matching

我正在尝试在编码为Pandas Series的文本中搜索字符串account lock中的单词。 当前,我正在使用contains函数。

如果文本为account lock email,我会得到正确的结果。

>>> pd.Series('account lock email').str.contains('account lock', case=False)
0    True
dtype: bool

但是如果文本为lock email account,我得到的结果是False

>>> pd.Series('lock email account').str.contains('account lock', case=False)
0    False
dtype: bool

如果文本是account email lock,我也会得到结果False

>>> pd.Series('account email lock').str.contains('account lock', case=False)
0    False
dtype: bool

有什么方法可以使用contains函数检查指定字符串中的所有单词是否在Pandas Series中存在?

还是有其他选择?

使用下面的代码使用所有功能获得所需的结果

>>> all(x in ('lock email account').split() for x in ('account lock').split())
True
>>> all(x in ('account email lock').split() for x in ('account lock').split())
True
>>> all(x in ('account email').split() for x in ('account lock').split())
False

0 个答案:

没有答案