加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在期望的原始文本文件上迭代,收到字符串对象

发布时间:2020-12-16 23:01:12 所属栏目:Python 来源:网络整理
导读:我正在尝试构建一个如 this link.中提到的朴素贝叶斯分类器 参考这条线 X_new_tfidf = tfidf_transformer.transform(X_new_counts) 在Training the Classifier子标题下,我在我的代码中有一个类似的行X_new_counts = count_vect.transform(input.plot_movie),
我正在尝试构建一个如 this link.中提到的朴素贝叶斯分类器
参考这条线
X_new_tfidf = tfidf_transformer.transform(X_new_counts)

在Training the Classifier子标题下,我在我的代码中有一个类似的行X_new_counts = count_vect.transform(input.plot_movie),它应该使用iterable作为transform函数的输入.输入是来自DataFrame的记录,其类型为pd.Series,包含以下条目,我将input.plot_movie作为输入转换为函数:

但是,我收到以下错误:对期望的原始文本文件进行Iterable,收到字符串对象

我该如何解决这个错误?我还提到this答案,其中该人说s是可迭代的,因为它被分配了一个字符串.我还遇到了this link,遇到了TypeError:’String’对象不可迭代.我在这里错过了什么吗?这些联系似乎相互矛盾.

编辑:
我刚刚意识到input.plot_movie的类型是unicode,并决定将其转换为字符串.我再次遇到同样的错误.

解决方法

这个问题的解决方案是因为input只是一个String,但是需要的是一个包含单个元素的列表(或者一个可迭代的)(它只是String本身).

可以通过添加以下行来删除错误:

input=[input]

之前

X_new_counts = count_vect.transform(input.plot_movie)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读