我已经创建了与某个类别相关的单词列表。例如:
care = ["safe", "peace", "empathy"]
而且我有一个包含语音的数据框,平均包含450个单词。我已经使用此行代码计算了每个类别的匹配次数:
df['Care'] = df['Speech'].apply(lambda x: len([val for val in x.split() if val in care]))
这给了我每个类别的匹配总数。
但是我需要查看列表中每个单词的频率。我尝试使用此代码来解决我的问题。
df.Tal.str.extractall('({})'.format('|'.join(auktoritet)))\
.iloc[:, 0].str.get_dummies().sum(level=0)
我尝试了不同的方法,但问题是我总是会得到部分匹配。例如,锤子算作火腿。
关于如何解决此问题的任何想法?
您可以将以1为第二元素('word', 1)
的元组中的每个单词变换,然后将其与列表中的每个单词相加。
输出将是带有单词和频率的元组列表:
[('word1', 3), ('word2', 10) ... ]
这是主要思想。