简体   繁体   中英

AttributeError: 'list' object has no attribute 'lower' in term frequency inverse document frequency

I found lots of post in stack overflow related to this problem. I tried those but still getting the same error. I'm using python 3.7 & wrote following code for my urdu data set

Tfidf_vect = TfidfVectorizer()

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

But got error message AttributeError: 'list' object has no attribute 'lower' Then I found this stack overflow post

AttributeError: 'list' object has no attribute 'lower' : clustering
. It's suggesting TfidfVectorizer only requires a list of sentences So I follow the steps mentioned in solution & modify the code & use following code

vectors = TfidfVectorizer() dataset_list=df['final'].values.ravel().tolist() X = vectors.fit_transform(dataset_list)

Sample data set is available here Still the same error message.Can you suggest me the steps to correc?

fit_transform method accepts an iterable which yields either str, unicode or file objects as an argument. There may overlooked items in your input data. Be sure all items are str. Check via below snippet.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM