Я хотел бы найти частоты слов в списке зарезервированных слов в нескольких файлах .txt в виде фрейма данных pandas.Я использую объекты collection.Counter (), и если определенное слово не появляется в тексте, значение этого слова (ключа) в Counter () равно нулю.
В идеале, результатом является кадр данных, где каждая строка соответствует каждому .txt-файлу, заголовки столбцов соответствуют зарезервированным словам, а запись в строке i столбца j соответствует частоте j-го слова вi-й .txt файл.
Вот мой код, но проблема в том, что объекты Counter () не добавляются в смысле словаря с несколькими значениями для каждого ключа (или зарезервированного слова), а суммируются вместо:
for filepath in iglob(os.path.join(folder_path, '*.txt')):
with open(filepath) as file:
cnt = Counter()
tokens = re.findall(r'\w+', file.read().lower())
for word in tokens:
if word in mylist:
cnt[word] += 1
for key in mylist:
if key not in cnt:
cnt[key] = 0
dictionary = defaultdict(list)
for key, value in cnt.items():
dictionary[key].append(value)
print(dictionary)
Любая подсказка будет высоко оценена!