【问题标题】:AttributeError: 'list' object has no attribute 'lower' in term frequency inverse document frequencyAttributeError:“列表”对象在词频逆文档频率中没有属性“较低”
【发布时间】:2020-05-08 12:57:59
【问题描述】:

我在堆栈溢出中发现了很多与此问题相关的帖子。我尝试了这些,但仍然遇到同样的错误。 我正在使用 python 3.7 并为我的 urdu 数据集编写了以下代码

Tfidf_vect = TfidfVectorizer()

x=Tfidf_vect.fit(df['final'])

但收到错误消息AttributeError: 'list' object has no attribute 'lower' 然后我发现了这个堆栈溢出帖子

AttributeError: 'list' object has no attribute 'lower' : clustering
。它建议 TfidfVectorizer 只需要一个句子列表 所以我按照解决方案中提到的步骤修改代码并使用以下代码
vectors = TfidfVectorizer()
dataset_list=df['final'].values.ravel().tolist()
X = vectors.fit_transform(dataset_list)

样本数据集可用here 还是一样的错误信息。你能建议我纠正的步骤吗?

【问题讨论】:

标签: python nlp


【解决方案1】:

fit_transform 方法接受一个 iterable,它产生 str、unicode 或 file 对象作为参数。您的输入数据中可能有被忽略的项目。确保所有项目都是 str。通过下面的 sn-p 检查。

False in map((lambda x: type(x) == str), df['final'])

【讨论】:

    猜你喜欢
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多