使用Python的结巴分词,但是排除一些词的代码好像运行没生效,可能是dataframe里面的一些方法没掌握,用了R处理这种类型的统计数据,感觉比Python方便些。
# -*- coding: utf-8 -*-
import jieba
import numpy
import pandas
# 解决编码
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
# 没问题何以删掉
# 打开语料文件,获取文本
my_file =open('bt.txt', 'r')
content = my_file.read()
my_file.close()
# 分词
segments = []
segs = jieba.cut(content, cut_all=False) # 使用精确模式
for seg in segs:
if len(seg)>1:
segments.append(seg)
segmentDF = pandas.DataFrame({'segment':segments})
segStat = segmentDF.groupby(
by=["segment"]
)["segment"].agg({
"num":numpy.size
}).reset_index().sort(
columns=["num"],
ascending=False
);
result = segStat.head(500)
segStat.to_csv('result2.csv', sep='\t')
print result
wordcloud = WordCloud(
font_path='D:\\simhei.ttf',
background_color="black",
width=800,height=400
)
wordcloud = wordcloud.fit_words(segStat.head(1000).itertuples(index=False))
wordcloud.to_file('filename4.jpg')