统计csv词频_分词词频统计
网上随便找段文字,就以Power BI官网上这段文字为例好了:
想要统计其中的词频,实现如下图的效果:
解法1:使用输入法词库
其中的难点无疑在分词了,中文不像英文可以按空格拆开分词,仅仅单靠Power Query中的功能遇到这种问题好像没法搞,因为它不知道你要按什么规则来拆,不知道哪几个字连起来算一个词。
那我们就得想办法告诉它规则,于是想到了输入法。输入法之所以如此贴心,就是因为有着丰富的词库,我们可以去输入法的设置里找出词库导出来。
我已经把我的输入法词库导出来并上传到网站服务器上,所以如果你找不到词库在哪就直接用我的吧。
let
源 = Excel.CurrentWorkbook(){[Name="源数据"]}[Content],
词库 = Table.FromColumns({List.Buffer(List.Select(Csv.Document(Web.Contents("https://pqfans.com/pq/pinyin/py.txt"),[Delimiter=" "])[Column2],each Text.Length(_)<>1))},{"词"}),
词频 = Table.AddColumn(词库, "词频", each List.Count(Text.PositionOf(源[文本]{0},[词],2))),
排序 = Table.Buffer(Table.Sort(词频,{{"词频", 1}})),
筛选 = Table.SelectRows(排序, each ([词频] <> 0))
in
筛选
解法2:使用R语言
以上是笨方法,但是如果在Power BI Desktop中,我们可以使用R.Execute运行R脚本,用jieba包进行分词。
那么首先你得安装R Open,并安装jieba。安装非常简单,首先去官网下载并装好R Open,然后打开并输入如下命令:install.packages("jiebaR")
等待自动安装完成即可。
先看下在R中如何来分词:
library("jiebaR")
wk
words
data.frame(words)
那么在Power BI中也类似,只不过我们想引用PBI内部的文本进行分词,先上代码吧:
let
源="Power BI 是一套商业分析工具,用于在组织中提供见解。可连接数百个数据源、简化数据准备并提供即席分析。生成美观的报表并进行发布,供组织在 Web 和移动设备上使用。每个人都可创建个性化仪表板,获取针对其业务的全方位独特见解。在企业内实现扩展,内置管理和安全性。",
加引号 = """"&Text.Remove(源,"""")&"""",
R脚本 = R.Execute("
library(""jiebaR"")
wk
words
df
"),
分词 = R脚本[Value]{0}
in
分词
为简化过程我直接把文本放在源中,实际上这个文本可以是从本地文件导入,也可以是从网上抓取的等等。
R脚本是以文本形式放在R.Execute函数中,所以我们可以对文本进行拼接,把源中的文本放到R脚本中。
尽管源中的文本已经是text,但是引用的时候还是要在文本的开头和结尾加上一对引号,所以我单独用了一个加引号的步骤便于大家理解。此处前后各4个引号,首尾两个代表引用文本,中间两个是引号的转义,代表一个引号。另外为了避免文本中本身包含引号而引发的错误,再做一个把引号移除的操作,反正我们又不要统计引号。
将数据框赋值给df变量,返回一个两列的table,分别为变量名及数据框内的数据,最后一步深化出[Value]中数据框的数据即可。
这是分词,最关键的一步做完了,剩下的词频统计直接分组就好了。
解法3:调用api
使用了一个名为SCWS的分词api,封装为自定义函数,调用即可。
let
fenci=(word)=>
let
url="http://www.xunsearch.com/scws/api.php",
headers=[#"Content-Type"="application/x-www-form-urlencoded"],
content="respond=json&ignore=yes&data="&word,
request=Table.FromRecords(Json.Document(Web.Contents(url,[Headers=headers,Content=Text.ToBinary(content)]))[words])
in
request,
result=fenci("Power BI 是一套商业分析工具,用于在组织中提供见解。可连接数百个数据源、简化数据准备并提供即席分析。生成美观的报表并进行发布,供组织在 Web 和移动设备上使用。每个人都可创建个性化仪表板,获取针对其业务的全方位独特见解。在企业内实现扩展,内置管理和安全性。")
in
result
附件
词频统计 (135 kB)
统计csv词频_分词词频统计相关推荐
- 统计csv词频_中文词频统计
中文词频统计 1. 下载一长篇中文小说. <倚天屠龙记> 2. 从文件读取待分析文本. 3. 安装并使用jieba进行中文分词. pip install jieba import jieb ...
- 统计csv词频_中文词频统计与词云生成
一.中文词频统计 1. 下载一长篇中文小说. 2. 从文件读取待分析文本. 3. 安装并使用jieba进行中文分词. pip install jieba import jieba jieba.lcut ...
- python统计段落单词词频_使用Python统计文件中词频,并且生成词云
wordcloud Table of Contents 1 怎样使用Python产生词云 from wordcloud import WordCloud import matplotlib.pyplo ...
- python统计中文字符_使用 Python 统计中文字符的数量
使用 Python 统计中文字符的数量 方法一,排除法 假设只有中英文字符: import string def str_count(str): '''找出字符串中的中英文.空格.数字.标点符号个数' ...
- window统计文本字节_在线字数统计工具-统计字符字节汉字数字标点符号-计算word文章字数...
位 位是信息技术中使用的术语,也称比特(bit).是最小的信息单位.Bit是二进制数字的缩写(BInarydigiT),因为位实在是太小了,用来表示大数目时不方便,所以有了字节(byte),一个在信息 ...
- window统计文本字节_在线字数统计工具-统计字符字节汉字数字标点符号-计算word文章字数-使用帮助-字的区别...
位,字,字节,字长,字符串,字符,字数区别及计算方法? 位 位是信息技术中使用的术语,也称比特(bit).是最小的信息单位.Bit是二进制数字的缩写(BInarydigiT),因为位实在是太小了,用来 ...
- python统计中文字数_用 Python 统计字数
用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 n 个出现频率最高的单词.返回值是一个元组列表,包含出现次数最高的 n 个单词及其次数,即 [( ...
- 统计csv词频_基于给定词语列表统计词频
基于给定词语列表并统计词频,统计结果输出到csv中.有两种实现方法 方法一:常规的统计给定关键词的词频 思路: 第一步,整理好待查询query_words 第二步,新建一个csv文件,并且将query ...
- python分词统计词频_-用python找出一篇文章中词频最高的20个单词
python统计一个大文件中很多小文件里面的词频 #!/usr/bin/env python3.6 from collections import Counter from functools imp ...
最新文章
- 美妆视频小红唇如何打开大数据之门
- 现代软件工程 结对编程 (I) 三维棋类游戏
- Zygote启动分析
- 前端代码(移动端app, vue 源代码)打包方法
- flink中写入行存储、列存储时设定checkpoint多久时间间隔另存一个新文件
- 最常用计算机信息呼唤标准代码,计算机考试题
- 北京科技大学计算机作业,北京科技大学计算机题
- 李宏毅2020机器学习资料汇总
- 编译原理考试知识点总结
- 中央网信委印发《“十四五”国家信息化规划》,​网络安全市场进入快速增长期
- DOSBox指令全 汇编指令大全 debug
- 网易云接口加直链下载vip歌曲
- JOB DESCRIPTION
- html里如何定位背景图片,Html+Css CSS中背景图片定位方法
- 电脑上的PDF文件太大了怎么办?
- android节日接口,节假日api及其整合
- 企业级运维——Mysql主从复制(异步、半同步、全同步)
- python爬虫爬取公众号_Python selenium爬取微信公众号文章代码详解
- 计算机网络应用赛甘肃省,关于举办第三届“甘肃省大学生创新杯计算机运用能力竞赛”预赛的.doc...
- 分类常用的神经网络模型,典型神经网络模型包括
热门文章
- C语言小白——数组与字符串
- Vue项目 报错TypeError [ERR INVALID ARG TYPE]: The “path“ argument must be of type string
- 4 error C2220: 警告被视为错误 - 没有生成“object”文件 (..\..\src\caffe\util\math_functions.cpp)
- python 函数式编程 库_使用Python的toolz库开始函数式编程的方法
- linux frp 内网穿透 nginx反向代理
- html5视差滚动效果,视差滚动效果
- 修改所有列_哪些数据库是行存储?哪些是列存储?有什么区别?
- 为什么仿宋字体打印出楷体_win7缺少仿宋_GB2312和楷体_GB2312字体,造成word字体显示不正常...
- Dreamwear如何创建javascript_JavaScript 太糟糕,JVM 有妙招!
- go get如何删除_Go 每日一库之 xorm