the*_*der 13 python string iterator
我正在尝试构建一个朴素的贝叶斯分类器,如此链接中所述. 参考这条线
X_new_tfidf = tfidf_transformer.transform(X_new_counts)
Run Code Online (Sandbox Code Playgroud)
在Training the Classifier
副标题下,我有一个类似的行,X_new_counts = count_vect.transform(input.plot_movie)
在我的代码中应该使用iterable作为转换函数的输入.它 input
是来自DataFrame的记录,属于类型pd.Series
并包含以下条目,我将其input.plot_movie
作为输入发送到转换函数:
但是,我收到以下错误: Iterable over raw text documents expected, string object received
我该如何解决这个错误?我也提到了这个答案,其中人说这s
是一个可迭代的,因为它被分配了一个字符串.我也碰到这个环节,其中一个TypeError: 'String' object is not iterable
遇到.我在这里错过了什么吗?这些联系似乎相互矛盾.
编辑:
我刚刚意识到这input.plot_movie
是unicode类型,并决定将其转换为字符串.我再次遇到同样的错误.
the*_*der 26
这个问题的解决方案是因为input只是一个String,但是需要的是一个包含单个元素的列表(或者一个可迭代的)(它只是String本身).
可以通过添加以下行来删除错误:
input=[input]
Run Code Online (Sandbox Code Playgroud)
之前
X_new_counts = count_vect.transform(input.plot_movie)
Run Code Online (Sandbox Code Playgroud)