我正在尝试在编码为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