Я пытаюсь подсчитать частоту слов - это список в кадре данных.
data = {'H':[['the', 'brown', 'fox'], ['the', 'weather', 'is'],['she', 'sells', 'sea']], 'marks':['a', 'b', 'c']}
df = pd.DataFrame(data)
Я хочу разделить количество слов на основе меток a, b, c.Я знаю, что могу создать x3 отдельных фрейма данных, но я ищу более чистый вывод кода
freq = {}
def count_freq(word):
for w in word:
if w in list(freq.keys()):
freq[w] += 1
else:
freq[w] = 1
df.H.apply(count_freq)
, затем я попробовал это, но я испортил
df['marks'] = z.apply(lambda row: 0 if row['marks'] in ("a")
else if row['marks'] in ("b")
else row['marks'] in ("c")
Редактировать: ожидаемый результат
Frequency-a Frequency-b Frequency-c
the 1 1
quick 1
brown 1
fox 1
she 1
sells 1
sea 1
weather 1
is 1