Python一些库的基本使用

python一些库的基本使用

一. jieba库
安装:pip install jieba

  1. 中文分词

    • 利用一个中文词库,确定中文字符之间的关联概率
    • 中文字符间概率大的组成词组,形成分词结果
    • 除了分词,用户还可以添加自定义的词组(如:司马相如等等这类人名或者专有名词)
  2. 三种模式

    • 精确模式:把文本精确的切分开,不存在冗余单词
    • 全模式:把文本中所有可能的词语都扫描出来,有冗余
    • 搜索引擎模式:在精确模式基础上,对长词再次切分
```
jieba.lcut(s)    精确模式,返回一个  列表  类型的分词结果
jieba.lcut("中国是一个伟大的国家") 
['中国', '是', '一个', '伟大', '的', '国家']
```

二. wordcloud库
掌握词云 能够 快速找出 关键信息
安装:pip install wordcloud

  1. 生成词云


    grwordcloud.png
  2. 基本使用:
    wordcloud库把词云当作一个WordCloud对象

    • wordcloud.WordCloud()代表一个文本对应的词云
    • 可以根据文本中词语出现的频率等参数绘制词云
    • 词云的绘制形状尺寸颜色都可以设定,如上如的形状是长方形,但是可以改为中国地图的轮廓图
  3. 常规方法:

    • 以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:输出词云文件
  1. 词云的工作基本原则(重要):
    词云是统计 单词 频率,(根据单词间的空格,这一点与中文不同,中文单词间并没有空格),如下图:


    image.png
  2. 两个实例:
    英文字符串
    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库的使用

  1. 路径操作
    os.path.abspath(path)    返回path在当前系统中的绝对路径
    os.path.dirname(path)    返回path中的目录名称
    
  2. 进程管理
    当我们的程序 需要 让计算机来调用执行 计算机内的其他程序的时候来使用,下面的那个.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_]
image.png
  1. re库主要函数
    基础函数:compile()
    功能函数:search()、match()、findall()、spilt()、finditer()、sub()
    详情:各个函数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基于《Python语言程序设计基础(第2版)》 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 ...
    柄志阅读 27,513评论 4 44
  • 前言 从本文开始,我们进入实战部分。首先,我们按照中文自然语言处理流程的第一步获取语料,然后重点进行中文分词的学习...
    lanlantian123阅读 5,378评论 0 2
  • 常用概念: 自然语言处理(NLP) 数据挖掘 推荐算法 用户画像 知识图谱 信息检索 文本分类 常用技术: 词级别...
    御风之星阅读 9,268评论 1 25
  • jieba分词,学习,为了全面了解该模块,,预设学习路线:官方文档——优秀博客文章——实践学习 官方文档部分 (文...
    竹林徒儿阅读 4,235评论 1 12
  • (一)整体结构 (二)DBR和boot sector 50字节06表示备份dbr所在位置为06扇区 13字节表示簇...
    我有十条鱼䲆鱻䲜阅读 1,097评论 1 2