Python一些库的基本使用
2019-02-15 本文已影响24人
小星star
python一些库的基本使用
一. jieba库
安装:pip install jieba
-
中文分词
- 利用一个中文词库,确定中文字符之间的关联概率
- 中文字符间概率大的组成词组,形成分词结果
- 除了分词,用户还可以添加自定义的词组(如:司马相如等等这类人名或者专有名词)
-
三种模式
- 精确模式:把文本精确的切分开,不存在冗余单词
- 全模式:把文本中所有可能的词语都扫描出来,有冗余
- 搜索引擎模式:在精确模式基础上,对长词再次切分
```
jieba.lcut(s) 精确模式,返回一个 列表 类型的分词结果
jieba.lcut("中国是一个伟大的国家")
['中国', '是', '一个', '伟大', '的', '国家']
```
二. wordcloud库
掌握词云 能够 快速找出 关键信息
安装:pip install wordcloud
-
生成词云
grwordcloud.png -
基本使用:
wordcloud库把词云当作一个WordCloud对象- wordcloud.WordCloud()代表一个文本对应的词云
- 可以根据文本中词语出现的频率等参数绘制词云
- 词云的绘制形状、尺寸和颜色都可以设定,如上如的形状是长方形,但是可以改为中国地图的轮廓图
-
常规方法:
-
以WordCloud对象为基础
-
配置参数、加载文本、输出文件
w = wordcloud.WordCloud() 生成词云对象方法 描述 w.generate(txt) 向WordCloud对象w中加载文本txt w.to_file(filename) 将词云输出为图像文件,.png或.jpg格式
-
import wordcloud
c = wordcloud.WordCloud() - 步骤1:配置对象参数
c.generate("wordcloud by Python") - 步骤2:加载词云文本
c.to_file("pywordcloud.png") - 步骤3:输出词云文件
-
词云的工作基本原则(重要):
词云是统计 单词 频率,(根据单词间的空格,这一点与中文不同,中文单词间并没有空格),如下图:
image.png - 两个实例:
英文字符串
中文字符串import wordcloud txt = "life is short, you need python" w = wordcloud.WordCloud( \ background_color = "white") w.generate(txt) w.to_file("pywcloud.png")
import jieba import wordcloud txt = "程序设计语言是计算机能够理解和\ 识别用户操作意图的一种交互体系,它按照\ 特定规则组织计算机指令,使计算机能够自\ 动进行各种运算处理。" w = wordcloud.WordCloud( width=1000,\ font_path="msyh.ttc",height=700) msyh.ttc为微软雅黑字体,在自己的电脑上能够搜索到 w.generate(" ".join(jieba.lcut(txt))) 这里在单词间加入空格,使得wordcloud能够正确获得单词以及其频率 w.to_file("pywcloud.png") 中文需要先分词并组成空格分隔字符串
三. os库的使用
- 路径操作
os.path.abspath(path) 返回path在当前系统中的绝对路径 os.path.dirname(path) 返回path中的目录名称
- 进程管理
当我们的程序 需要 让计算机来调用执行 计算机内的其他程序的时候来使用,下面的那个.exe可以是任何一个程序(只要正确指定path)import os os.system("C:\\Windows\\System32\\calc.exe")
四. re库的使用
正则表达式语法由 字符 和 操作符 构成
1. 正则表达式语法
操作符 | 说明 | 实例 |
---|---|---|
. | 表示单个字符 | |
[] | 字符集,对单个字符给出取值范围 | [abc]表示a、b、c, [a-z]表示a到z单个字符 |
[^] | 非字符集,对单个字符给出排除范围 | [^abc]表示非a或b或c的单个字符 |
* | 前一个字符0次或无限次扩展 | abc* 表示 ab、abc、abcc、abccc等 |
+ | 前一个字符1次或无限次扩展 | abc+表示 abc、abcc、abccc等 |
? | 前一个字符0次或1次扩展 | abc?表示 ab、abc |
| | 左右表达式任意一个 | abc|def表示abc、def |
{m} | 扩展前一个字符m次 | ab{2}c表示abbc |
{m,n} | 扩展前一个字符m至n次(含n) | ab{1,2}c表示abc、abbc |
^ | 匹配字符串开头 | ^abc表示abc且在一个字符串的开头 |
$ | 匹配字符串结尾 | abc$表示abc且在一个字符串的结尾 |
() | 分组标记,内部只能使用 | 操作符 | (abc)表示abc,( abc | def)表示abc、def |
\d | 数字,等价于[0-9] | |
\w | 单词字符,等价于[AZa-z0-9_] |
- re库主要函数
基础函数:compile()
功能函数:search()、match()、findall()、spilt()、finditer()、sub()
详情:各个函数