首页 > 解决方案 > iam gettinig AttributeError: 'list' 对象在尝试在文本数据上拆分(“”)时没有属性“lower”

问题描述

我正在尝试对文本数据进行矢量化,但出现以下错误

AttributeError: 'list' 对象没有属性 'lower'

我的代码:

yourResult = [str(sentence).split(' ') for sentence in tag_data["Tags"]]

vectorizer = CountVectorizer()
tag_dtm = vectorizer.fit_transform(yourResult)#tag.apply(lambda x: str(x).split(" ")))

标签: pythonlist

解决方案


正如问题所述,yourResult是一个列表列表,因为split(' ')它返回一个列表,而它应该是一个字符串列表。CountVectorizer为您拆分,因此无需提前进行。这应该可以正常工作:

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

如果您想完全控制内部拆分的工作方式CounVectorizer,您可以提供自己的分词器:

vectorizer = CountVectorizer(tokenizer=lambda s: s.split(' '))
tag_dtm = vectorizer.fit_transform(tag_data["Tags"])

推荐阅读