我想得到一个循环,所以不要写代码:
tfidf = vectorizer.fit_transform([ data[0]['body'] , data[1]['body'] , data[2]['body'] , data[3]['body'] .... ])
我在循环中得到它。到目前为止,我已经尝试过:
for i in range(len(data) - 1):
tfidf = vectorizer.fit_transform([ append(data[i]['body']) , data[i+1]['body']) ])
有关如何使其有效的任何想法?我收到以下错误:
名称'append'未定义
答案 0 :(得分:1)
您需要在列表上调用append()。例如MyList.append(element)
答案 1 :(得分:1)
我想你想从json数据中提取'body'内容,并有一个文本元素列表,然后将它传递给特征提取器(确保你之前已经预处理了文本)。
试试这个:
tfidf = vectorizer.fit_transform([d['body'] for d in data])
或者,如果您更清楚,可以先创建列表,然后将其传递给函数:
bodies = [d['body'] for d in data]
tfidf = vectorizer.fit_transform(bodies)
希望有所帮助:)
快乐的编码!!!
P.P:我没有测试过代码,但我认为这个想法很清楚。