我有一个代码如下:
df1 = df[['term']]
df2 = df1.to_string()
words = nltk.word_tokenize(df2)
bgs = nltk.bigrams(words)
fdist = nltk.FreqDist(bgs)
我现在如何过滤fdist以仅查找出现次数超过2次的双字母组?
答案 0 :(得分:0)
这就是我为我的目的所做的事情(不是最直接的,但我想我会加上我的两分钱):将数据放入一个新的数据框,在数据框中过滤
frequencies = [[" ".join(k),v] for k,v in fdist.items()]
frame = pd.DataFrame(frequencies, columns=['Bigrams','Frequency'])
removal = frame[frame['Frequency'] >= 10]
答案 1 :(得分:0)
试试......
for obj in fdist.most_common():
if obj[1] >2:
print(obj)
for obj in fdist:
if fdist1[obj] >2:
print(obj, fdist1[obj])