为了账号安全,请及时绑定邮箱和手机立即绑定

python特征提取:AttributeError:'list'对象没有属性'lower'

python特征提取:AttributeError:'list'对象没有属性'lower'

ABOUTYOU 2021-09-25 10:02:39
如果我在写这个 ::bow_vect = CountVectorizer(max_df=0.90, min_df=2, max_features=1000, stop_words='english')bow = bow_vect.fit_transform(combi['tidy_tweet'])我收到这个错误::AttributeError                            Traceback (most recent call last)<ipython-input-65-745529b5930e> in <module>      1 bow_vect = CountVectorizer(max_df=0.90, min_df=2, max_features=1000, stop_words='english')----> 2 bow = bow_vect.fit_transform(combi['tidy_tweet'])c:\users\avinash\appdata\local\programs\python\python37\lib\site-packages\sklearn\feature_extraction\text.py in fit_transform(self, raw_documents, y)   1010    1011         vocabulary, X = self._count_vocab(raw_documents,-> 1012                                           self.fixed_vocabulary_)   1013    1014         if self.binary:c:\users\avinash\appdata\local\programs\python\python37\lib\site-packages\sklearn\feature_extraction\text.py in _count_vocab(self, raw_documents, fixed_vocab)    920         for doc in raw_documents:    921             feature_counter = {}--> 922             for feature in analyze(doc):    923                 try:    924                     feature_idx = vocabulary[feature]c:\users\avinash\appdata\local\programs\python\python37\lib\site-packages\sklearn\feature_extraction\text.py in <lambda>(doc)    306                                                tokenize)    307             return lambda doc: self._word_ngrams(--> 308                 tokenize(preprocess(self.decode(doc))), stop_words)    309     310         else:c:\users\avinash\appdata\local\programs\python\python37\lib\site-packages\sklearn\feature_extraction\text.py in <lambda>(x)    254     255         if self.lowercase:--> 256             return lambda x: strip_accents(x.lower())    257         else:    258             return strip_accentsAttributeError: 'list' object has no attribute 'lower'
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

在不知道combi['tidy_tweet']实际类型的情况下,这可能是因为 fit_transform 需要一个可迭代的字符串,而您正在为其提供一个系列。

combi['tidy_tweet']实际上应该是适合 fit_transform 工作的字符串列表。目前看起来它是一系列字符串列表。

因此,最好的办法是将每一行(列表)中的标记连接成一个字符串,将这些字符串打包成一个列表,然后对其使用 fit_transform。


查看完整回答
反对 回复 2021-09-25
  • 1 回答
  • 0 关注
  • 517 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信