Чтобы найти общий верхний 10000 слов, самый простой способ будет update
глобальный Counter
:
from collections import Counter
global_counter = Counter() # <- create a counter
for tokenized_text in corpus:
clean_text = [tok.lower() for tok in tokenized_text if tok not in punctuation and tok not in stopwords]
global_counter.update(clean_text) # <- update it
На данный момент, вы можете просто использовать
import pandas as pd
df = pd.DataFrame(global_counter.most_common(10000))
Если вы хотите найти количество слов для определенных записей, добавьте теперь следующий код (после предыдущего).
most_common = set([t[0] for t in global_counter.most_common(10000)])
occurrences = []
for tokenized_text in corpus:
clean_text = dict(collections.Counter([tok.lower() for tok in tokenized_text if tok not in punctuation and tok not in stopwords]))
occurrences.append({c: clean_text.get(c, 0) for c in most_common})
Теперь просто используйте
pd.DataFrame(occurrences)