【发布时间】:2021-01-31 09:17:20
【问题描述】:
我有一个数据框,在一列中,我有一个包含多个很长句子的全文。我使用NLTK 对文本进行标记,但现在我需要确保我只从给定的完整单词长列表中提取包含任何单词的句子。我编写了以下代码,但问题在于,它不是检查整个文本中的单词,而是例如在搜索列表中发现一个给定的单词,例如“tic”,它选择一个包含“统计”这个词..
symptoms = [long list of words ~ about 100]
new_df = df[df['Sentence'].str.contains('|'.join(symptoms))]
在这段代码的正上方,我使用下面的代码来标记我的文本。
sentences = []
for row in df_no_title.itertuples():
for sentence in sent_tokenize(row[2]):
sentences.append((row[1], sentence))
df = pd.DataFrame(sentences, columns=['Paper_Id', 'Sentence'])
有没有办法逐字检查句子以找到与我列表中的任何单词匹配的句子,并且只在 Python 中提取这些句子?
如果我需要提供任何其他信息,请告诉我。
【问题讨论】:
-
您介意编辑您的帖子并为代码应用正确的格式吗? Python 对缩进敏感,代码不应被“格式化”为块引号。请参阅help page on formatting 以了解正确的语法——您会发现它并不难。
-
@usr2564301 当然,我只是修复了它。谢谢!
标签: python python-3.x regex pandas nltk