AttributeError:“ NoneType”对象没有属性“ lower

时间:2020-08-19 02:34:22

标签: python python-3.x machine-learning scikit-learn

我试图在标签数据上实现CountVectorizer,但是每次它抛出属性错误时,都尝试了一切,但仍然无法理解为什么会出现此错误。这是我的代码,

vectorizer = CountVectorizer(tokenizer = lambda x: x.split(" "))

tag_dtm = vectorizer.fit_transform(tag_data['Tags'])

这是我得到的错误:

`AttributeError                            
Traceback (most recent call last)
<ipython-input-53-7a05ab3b6655> in <module>()

      7 # and learns the vocabulary; second, it transforms our training data
      8 # into feature vectors. The input to fit_transform should be a list of strings.                  
 ----> 9 tag_dtm = vectorizer.fit_transform(tag_data['Tags'])


3 frames


/usr/local/lib/python3.6/dist-packages/sklearn/feature_extraction/text.py in _preprocess(doc, accent_function, lower)
     
     66     """
      
     67     if lower:

     ---> 68         doc = doc.lower()
     
     69     if accent_function is not None:

     70         doc = accent_function(doc)

AttributeError: 'NoneType' object has no attribute 'lower'`

2 个答案:

答案 0 :(得分:0)

'doc'中不包含任何数据/字符串,它是None类型。 None不是none或blank的含义,它是一种类型。 并使用“如果doc为None:”的条件进行检查。

答案 1 :(得分:0)

尝试将其转换为字符串,因为较低的是字符串函数,并且由于传递到CountVectorizer的数据之一是NoneType,因此实际上就钩在那里了