python - 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(" ")))
解决方案
正如问题所述,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"])
推荐阅读
- django - Passing kwargs to parent class from inheritance relationship in child class
- firebase - Error while Inserting data into cloud firestore flutter?
- javascript - 400 Bad Request to GraphQL endpoint(我的测试查询有什么问题?)
- mysql - 在mysql查询中获得一个额外的变量
- java - 在 Java 中将 XML 元素解析为数组
- symfony - 我如何配置 enqueue/enqueue-bundle/enqueue/amqp-ext 来创建队列和交换
- xml - Eclipse:如何禁用特定测试文件的 XML 验证?
- android - 如何只允许一个 Activity 实例,而不会弄乱返回堆栈导航?
- php - prestashop 中的类别控制器进行无限循环
- git - 如何在 Git 存储库中的所有分支中查找文件的更改?