python中文词组统计次数_python统计中文词组出现次数

2018年9月7日在百度google没有找到python统计中文词组的,查出来的都是统计英文单词,词组的,所以我想来实现python中文词组统计分享。

首先我是用textrank4zh库将句子转化成词组

from textrank4zh import TextRank4Keyword

text = open("wc_clear.txt").read()

tr4w = TextRank4Keyword()

tr4w.analyze(text=text, lower=True, window=2)

with open("wc_clear_phrase.csv",'w') as f:

for words in tr4w.words_all_filters:

f.write('/'.join(words))

其中wc_clear.txt

而wc_clear_phrase.csv就变成:

之后运行下列代码:

#_*_coding:utf-8_*_

import pandas as pd

text = open("wc_clear_phrase.csv").read()

li=text.split("/")

counte_phrase_phrase=[]

counte_phrase_times=[]

for i in range(5):

counte_phrase_times.append(text.count(li[i]))

counte_phrase_phrase.append(li[i])

pdf=pd.DataFrame({"phrase":counte_phrase_phrase,

"times":counte_phrase_times}).sort_values("times",ascending=False)

print(pdf)

输出:

因为我文本多,如果全部运行起来很慢,所以我演示用了range(5),但在实际运行时我是用range(len(li))。

嗯,代码很简单,用"context.count(str)"如:text.count(li[i]) 返回int型匹配到的次数。

再用pandas.DataFrame存二维数组。

假如有需要的话进一步分析统计:

from matplotlib.font_manager import FontProperties

import seaborn as sns

zhfont=FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14)

sns.set(font=zhfont.get_name())

sns.barplot("phrase", "times", palette="RdBu_r", data=pdf_)

值得注意的是zhfont=FontProperties(fname=r'C:\Windows\Fonts\simhei.ttf',size=14) 参考知乎的改seaborn 的字体,要不然seaborn图是显示不了中文。

输出为:

嗯,很简单是不是!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值