У меня есть следующий пример кадра данных:
No category problem_definition
175 2521 ['coffee', 'maker', 'brewing', 'properly', '2', '420', '420', '420']
211 1438 ['galley', 'work', 'table', 'stuck']
912 2698 ['cloth', 'stuck']
572 2521 ['stuck', 'coffee']
Поле problem_definition уже было размечено с удаленными словами пробела.
Я хочу создать распределение частоты, которое выводит другой кадр данных Pandas:
1) с частотой встречаемости каждого слова в problem_definition 2) с частотой встречаемости каждого слова в problem_definition по полю категории
Пример желаемого вывода ниже для случая 1):
text count
coffee 2
maker 1
brewing 1
properly 1
2 1
420 3
stuck 3
galley 1
work 1
table 1
cloth 1
Пример желаемого вывода ниже для случая 2):
category text count
2521 coffee 2
2521 maker 1
2521 brewing 1
2521 properly 1
2521 2 1
2521 420 3
2521 stuck 1
1438 galley 1
1438 work 1
1438 table 1
1438 stuck 1
2698 cloth 1
2698 stuck 1
Я пробовал следующий код для выполнения 1):
from nltk.probability import FreqDist
import pandas as pd
fdist = FreqDist(df['problem_definition_stopwords'])
TypeError: unhashable тип: 'list'
Я не знаю, как это сделать 2)