我正在尝试对文本数据进行矢量化,但出现了错误
AttributeError: 'list' object has no attribute '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(" ")))
最佳答案
正如问题所述,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"])
关于python - 我正在获取 AttributeError : 'list' object has no attribute 'lower' while trying to split ("") on text data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54779884/