我有一个大熊猫数据框,其中包含1000万条新闻报道。因此,这就是我申请TfidfVectorizer
的方式。
from sklearn.feature_extraction.text import TfidfVectorizer
tfidf = TfidfVectorizer()
feature_matrix = tfidf.fit_transform(df['articles'])
处理所有文档花费了很多时间。我只想一次遍历数据帧中的每篇文章,还是有可能我可以分批传递文档,并且它可以不断更新现有词汇,而不会覆盖旧的词汇词典?
我已经看过这个post了,但是还没有完全了解如何将其应用于熊猫。我也听说过Python generators
,但在此是否有用。
答案 0 :(得分:0)
您可以按以下方式分块进行迭代。该解决方案改编自here
def ChunkIterator():
for chunk in pd.read_csv(csvfilename, chunksize=1000):
for doc in chunk['articles'].values:
yield doc
corpus = ChunkIterator()
tfidf = TfidfVectorizer()
feature_matrix = tfidf.fit_transform(corpus)