python - python nltk循环打印标题而不是值
问题描述
我在 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]
为我工作。
推荐阅读
- sql - 在 Hive SQL 中选择上一个值
- android - 将 JSON 用于 Google 地图:标记未显示
- c++ - fstream 在替代控制字符处停止读取
- css - CSS 属性 background-clip:text 在 chrome 或 safari 中对我不起作用
- kubernetes - KOPS 集群上的 Argo Workflow 分布
- javascript - 上传 csv 文件并将多个标记添加到谷歌地图
- python - 根据名称 pandas python 对某些列进行乘法和求和
- swift - 更改所需属性将字段留空
- reactjs - 服务器端渲染中的 React-router 和 Link
- colors - 使用 Seaborn stripplot 中的一系列值设置色调