我在 csv 文件中标记了句子,但是当我尝试删除 for 循环中的停止词时,它会停止打印单词并打印所有句子的列标题,不知道最后一行中的错误在哪里?
for review in tokenized_docs:
new_review = []
for token in review:
new_token = x.sub(u'', token)
if not new_token == u'':
new_review.append(new_token)
tokenized_docs_no_punctuation.append(new_review)
words=pd.DataFrame(tokenized_docs_no_punctuation)
#print(words)
print([word for word in words if word not in stops])
输出显示如下
应该是文字而不是列标题数字。
最佳答案
由于代码中的 words
是数据帧,因此 word
在 for 循环中成为列名称 (0, 1, 2,.. )。
您只需更改为列表即可。例如,
# before
# words=pd.DataFrame(tokenized_docs_no_punctuation)
# after
words = tokenized_docs_no_punctuation[0]
为我工作。
关于python nltk循环打印标题而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59454689/