我有两个数据框。一个由一系列经过处理的摘录(删除了拆分、停用词和标点符号)组成,另一个由单词语料库和相应的“频率”分数组成。
我正在尝试为我的数据框中的每个摘录获取“平均频率分数”。为此,我需要一个函数或循环,该函数或循环将数据帧的每个摘录中的每个单词与语料库数据帧中给出的频率分数相匹配,然后求和并找到这些分数的平均值。我在做这件事时遇到了麻烦。到目前为止我的代码:
def average_frequency_score(text):
for word in text:
text_freq = []
if word == word_freq_df[word_freq_df['words'][i]]:
freq = word_freq_df['frequency'][i]
text_freq.append(freq)
else:
freq = 9.0
text_freq.append(freq)
df['frequencies'] = df['fully_processed'].apply(average_frequency_score)
excerpt =['roger','predicted','snow','departed','quickly','came','two','days','sleigh','ride','scarcely','vestige','white','ground','tennis','possible','great', 'game','progress','court','pine', 'laurel','patty', 'roger', 'playing', 'elise']
word_freq_df[1:5]
words frequency
1 home 20.9677
2 us 20.9296
3 page 20.8022
4 search 20.7471
然后我会应用另一个函数来获得平均值。上面我试图使用 word_freq_df 中的索引 [i] 来识别正确的频率,但错误是说 i 未定义。谁能帮我解决这个问题?!