python - 与python精确字符串匹配的布尔值
问题描述
我想根据布尔条件选择文章为
(unemployment OR inflation) AND (covid19 OR uncertain) AND (tax OR spending OR bank)
我希望通过精确的字符串匹配来做到这一点。我在下面给出了以下代码。当前代码的问题在于它让我想到了“税”这个词,税,应税,纳税人提前谢谢!
df = data[['date', 'title', 'body_text']]
def wordestimaor(X):
df['count'] = X.body_text.str.contains("covid19|uncertain")\
& X.body_text.str.contains("unemployment|inflation")\
& X.body_text.str.contains("|tax|spending|bank",case = False,regex= True)
return X.head(2)
wordestimaor(df)
解决方案
你需要在左右两边写上空格,所以它只会找到完整的单词(比如你需要写“covid19”而不是“covid19”)。
但有时它不起作用,比如在这种情况下:“covid19”(带逗号)。您还需要检查这些变体。为此,函数可能非常有用。
symbols = [' ', ',', ';', '!', '?', '.']
def find_word(word):
for smb in symbols:
if X.body_text.str.contains(' ' + word + smb):
return true
return false
编辑:如果单词位于句子的开头,它将以大写字母开头。所以你也可以检查一下。
推荐阅读
- react-native - React Native - Flatlist 使状态栏和底部栏消失
- c - 是否有可能弄清楚计算机上DRAM的行缓冲区策略(开行或闭行)?
- java - 为什么在 Android 11 中共享指定应用时只显示 3 个应用?
- debugging - VSCode 调试器:调试器找不到文件 .go 文件
- c - 为什么没有将 NULL 分配给我的指针数组?
- python - 如何将一个函数的输入值与另一个函数的返回值进行比较?
- postgresql - 尝试连接到 postgresql 时连接被拒绝
- c - 结构声明错误(错误:数组类型具有不完整的元素类型'struct entry')
- c# - ObservableCollection.Add() 影响完全不同的 ObservableCollection
- javascript - 在静态变量初始化之前获取 JSON