一、知识导图

Meancoder第三方库 python python第三方库大全_python第三方库

二、Python第三方库的获取和安装

1、Python第三方库依照安装方式灵活性和难易程 度有三个方法:Meancoder第三方库 python python第三方库大全_python第三方库_02Meancoder第三方库 python python第三方库大全_python第三方库_03Meancoder第三方库 python python第三方库大全_python_04

I、pip工具安装
①最常用且最高效的Python第三方库安装方式是 采用pip工具安装。pip是Python官方提供并维 护的在线第三方库安装工具。

$\color{red}{pip install <拟安装库名>}
$:\>pip install pygame 
...
 Installing collected packages: pygame 
Successfully installed pygame-1.9.2b1

②pip是Python第三方库最主要的安装方式,可以安装超 过90%以上的第三方库。然而,还有一些第三方库无法 暂时用pip安装,此时,需要其他的安装方法。
③pip工具与操作系统也有关系,在Mac OS X和Linux等操 作系统中,pip工具几乎可以安装任何Python第三方库, 在Windows操作系统中,有一些第三方库仍然需要用其 他方式尝试安装。
II、自定义安装
①自定义安装指按照第三方库提供的步骤和方式安装。第 三方库都有主页用于维护库的代码和文档。以科学计算 用的numpy为例,开发者维护的官方主页是:http://www.numpy.org/ ②浏览该网页找到下载链接,如下:
http://www.scipy.org/scipylib/download.html ③进而根据指示步骤安装。
III、文件安装
①为了解决这类第三方库安装问题,美国加州大学尔湾分 校提供了一个页面,帮助Python用户获得Windows可直 接安装的第三方库文件,链接地址如下:
http://www.lfd.uci.edu/~gohlke/pythonlibs/ ②这里以scipy为例说明,首先在上述页面中找到scipy库 对应的内容。选择其中的.whl文件下载,这里选择适用 于Python 3.5版本解释器和32位系统的对应文件:scipy- 0 . 1 7 . 1 - cp3 5 - cp3 5m-win3 2 .whl,下载该文件到 D:\pycodes目录。
③然后,采用pip命令安装该文件。

:\>pip install D:\pycodes\scipy-0.17.1-cp35-cp35m-win32.whl 
Processing d:\pycodes\scipy-0.17.1-cp35-cp35m-win32.whl 
Installing collected packages: scipy 
Successfully installed scipy-0.17.1

对于上述三种安装方式,一般优先选择采用pip 工具安装,如果安装失败,则选择自定义安装或 者文件安装。另外,如果需要在没有网络条件下 安装Python第三方库,请直接采用文件安装方 式。其中,.whl文件可以通过pip download指 令在有网络条件的情况下获得。

2、pip工具使用

I、执行pip -h将列出pip常用的子命令

Meancoder第三方库 python python第三方库大全_python二级考试_05


II、pip支持安装(install)、下载(download)、 卸载(uninstall)、列表(list)、查看(list)、 查找(search)等一系列安装和维护子命令。

①pip的uninstall子命令可以卸载一个已经安装的 第三方库,格式如下:

pip uninstall <拟卸载库名>

②pip的list子命令可以列出当前系统中已经安装的 第三方库,格式如下:

pip list

③pip的show子命令列出某个已经安装库的详细信 息,格式如下:

pip show <拟查询库名>

④pip的download子命令可以下载第三方库的安装 包,但并不安装,格式如下:

pip download

⑤pip的search子命令可以联网搜索库名或摘要中关键字, 格式如下:

pip search <拟查询关键字>

以查询含有installer单词的库为例,执行效果如下:

Meancoder第三方库 python python第三方库大全_python二级考试_06

三、PyInstaller库概述

1、PyInstaller是一个十分有用的Python第三方库,它能够 在Windows、Linux、Mac OS X等操作系统下将Python 源文件打包,变成直接可运行的可执行文件。
2、通过对源文件打包,Python程序可以在没有安装Python 的环境中运行,也可以作为一个独立文件方便传递和管 理。
:\>pip install PyInstaller

四、PyInstaller库与程序打包

1、使用PyInstaller库对Python源文件打包十分简单, 使用方法如下:

Meancoder第三方库 python python第三方库大全_python二级考试_07

2、执行完毕后,源文件所在目录将生成dist和build 两个文件夹。最终的打包程序在dist内部与源文 件同名的目录中。
3、可以通过-F参数对Python源文件生成一个独立的 可执行文件,如下:
:\>PyInstaller -F SnowView.py

Meancoder第三方库 python python第三方库大全_python_08

4、执行后在dist目录中出现了SnowView.exe文件, 没有任何依赖库,执行它即可显示雪景效果。

五、jieba库概述

1、由于中文文本中的单词不是通过空格或者标点符 号分割,中文及类似语言存在一个重要的“分词” 问题。
2、jieba(“结巴”)是Python中一个重要的第三 方中文分词函数库
:\>pip install jieba
3、jieba库的分词原理是利用一个中文词库,将待分 词的内容与分词词库进行比对,通过图结构和动 态规划方法找到最大概率的词组。除了分词, jieba还提供增加自定义中文单词的功能
4、jieba库支持三种分词模式:Meancoder第三方库 python python第三方库大全_python二级考试_09,将句子最 精确地切开,适合文本分析;Meancoder第三方库 python python第三方库大全_python考试_10,把句子中 所有可以成词的词语都扫描出来,速度非常快, 但是不能解决歧义;Meancoder第三方库 python python第三方库大全_python二级_11,在精确模式 基础上,对长词再次切分,提高召回率,适合用 于搜索引擎分词
5、对中文分词来说,jieba库只需要一行代码即可。
>>>import jieba
>>>jieba.lcut("全国计算机等级考试")
Building prefix dict from the default dictionary ... Loading model from cache C:\AppData\Local\Temp\jieba.cache Loading model cost 1.001 seconds.
Prefix dict has been built succesfully.
['全国', '计算机', '等级', '考试']

六、jieba库与中文分词

1、ieba.lcut(s)是最常用的中文分词函数,用于精准 模式,即将字符串分割成等量的中文词组,返回 结果是列表类型。
>>>import jieba
>>>ls = jieba.lcut("全国计算机等级考试Python科目")
>>>print(ls)
['全国', '计算机', '等级', '考试', 'Python', '科目']
2、jieba.lcut(s, cut_all = True)用于全模式,即将字 符串的所有分词可能均列出来,返回结果是列表 类型,冗余性最大
>>>import jieba
>>>ls = jieba.lcut("全国计算机等级考试Python科目", cut_all=True)
>>>print(ls)
['全国', '国计', '计算', '计算机', '算机', '等级', '考试', 'Python', '科目']
3、ieba.lcut_for_search(s)返回搜索引擎模式,该 模式首先执行精确模式,然后再对其中长词进一 步切分获得最终结果。
>>>import jieba
>>>ls = jieba.lcut_for_search("全国计算机等级考试Python科目")
>>>print(ls)
['全国', '计算', '算机', '计算机', '等级', '考试', 'Python', '科 目']

搜索引擎模式更倾向于寻找短词语,这种方式具 有一定冗余度,但冗余度相比全模式较少。
如果希望对文本准确分词,不产生冗余,只能选 择jieba.lcut(s)函数,即精确模式。如果希望对文 本分词更准确,不漏掉任何可能的分词结果,请 选用全模式。如果没想好怎么用,可以使用搜索 引擎模式。

4、jieba.add_word()函数,顾名思义,用来向jieba 词库增加新的单词。
>>>import jieba
>>>jieba.add_word("Python科目")
>>>ls = jieba.lcut("全国计算机等级考试Python科目") >>>print(ls)
['全国', '计算机', '等级', '考试', 'Python科目']

七、wordcloud库概述

1、词云以词语为基本单元,根据其在文本中出现的 频率设计不同大小以形成视觉上不同效果,形成 “关键词云层”或“关键词渲染”,从而使读者 只要“一瞥”即可领略文本的主旨。
2、wordcloud库是专门用于根据文本生成词云的 Python第三方库,十分常用且有趣。
3、装wordcloud库在Windows的cmd命令行使用如 下命令:
:\>pip install wordcloud
4、wordcloud库的使用十分简单,以一个字符串为 例。其中,产生词云只需要一行语句,在第三行, 并可以将词云保存为图片。
>>>from wordcloud import WordCloud
>>>txt='I like python. I am learning python'
>>>wordcloud = WordCloud().generate(txt) >>>wordcloud.to_file('testcloud.png') 
<wordcloud.wordcloud.WordCloud object at 0x000001583E26D208>

八、wordcloud库与可视化词云

1、在生成词云时,wordcloud默认会以空格或标点 为分隔符对目标文本进行分词处理。对于中文文 本,分词处理需要由用户来完成。一般步骤是先 将文本分词处理,然后以空格拼接,再调用 wordcloud库函数
import jieba
from wordcloud import WordCloud
txt = '程序设计语言是计算机能够理解和识别用户操作意图的一种交互体系,它按 照特定规则组织计算机指令,使计算机能够自动进行各种运算处理。'
words=jieba.lcut(txt) #精确分词
newtxt=''.join(words) #空格拼接
wordcloud=WordCloud(font_path="msyh.ttc").generate(newtxt) wordcloud.to_file('词云中文例子图.png') # 保存图片
2、wordcloud库的核心是WordColoud类,所有的 功能都封装在WordCloud类中。使用时需要实 例化一个WordColoud类的对象,并调用其 generate(text)方法将text文本转化为词云。
3、WordCloud对象创建的常用参数

Meancoder第三方库 python python第三方库大全_python考试_12

4、WordCloud类的常用方法

Meancoder第三方库 python python第三方库大全_python二级_13

5、下面以Alice梦游仙境为例,展示参数、方法的 使用。

Meancoder第三方库 python python第三方库大全_python_14


Meancoder第三方库 python python第三方库大全_python二级考试_15

其中,from scipy.misc import imread一行用于 将AliceMask.png读取为nd-array类型,用于后 面传递给mask参数使用。(这个库函数隶属于 scipy库,pip在安装wordcloud库时会自动安装 依赖库。)

九、实例解析

# -*- coding: utf-8 -*-
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import os
import matplotlib.colors as colors

# 红色 #FF0000
# 橙色 #FF7F00
# 黄色 #FFFF00
# 绿色 #00FF00
# 青色 #00FFFF
# 蓝色 #0000FF
# 紫色 #8B00FF

color = ['#FF0000', '#FF7F00', '#FFFF00', '#00FF00', '#00FFFF', '#0000FF', '#8B00FF']
colormap = colors.ListedColormap(color)

mask = plt.imread("马.jpg")


font = r'/System/Library/Fonts/Apple Braille Outline 6 Dot.ttf'
FONT_PATH = os.environ.get("FONT_PATH", os.path.join(os.path.dirname(__file__), "PingFang.ttc"))
chtext = ''
# jieba.add_word('')
with open("lqy.txt", "rt", encoding='utf-8') as file:
    text = file.readlines()
    for line in text:
        line = line.strip('\n')
        chtext += ' '.join(jieba.cut(line))
print(chtext)

wordcloud = WordCloud(background_color='white', \
                      width=1200, \
                      height=800, \
                      max_words=1000, \
                      max_font_size=50, \
                      collocations=False, \
                      font_path=FONT_PATH, \
                      colormap=colormap, \
                      mask=mask).generate(chtext)
# 保存图片
result = wordcloud.to_file('lqy.png')
print(result)
#  显示词云图片
plt.imshow(wordcloud)
plt.axis('off')
plt.show()

Meancoder第三方库 python python第三方库大全_python考试_16

需要解决的问题:①导不同的包;②解决中文乱码;③图片格式选择(白底黑字,可选择剪影做实验);④关键词高频才居中显示;⑤自定义颜色;⑥路径正确书写。