10.1Python第三方库的获取和安装
Python第三方库依照安装方式灵活性和难易程序有3个方法,这三个方法是: pip工具安装、自定义安装、文件安装。
10.1.1pip工具安装
最常用且最高效的Python第三方库安装方式是采用pip工具安装。pip是Python官方提供并维护的在线第三方库安装工具。对于Python3.x版本环境,可以采用 pip3命令代替pip命令专为Python3.x版本安装第三方库。
使用pip安装第三方库需要联网。
安装语法:
pip install库名
10.1.2自定义安装
自定义安装指按照第三方库提供的步骤和方式安装。第三方库都有主页用于维护库的代码和文档。科学计算用的 numpy 的官方主页是:http://numpy.org。浏览网页找到下载链接。http://scipy.org/scipylib/download.html。进而根据提示步骤安装。
自定义安装一般适用于在pip中尚无登记或安装失败的第三方库。
10.1.3文件安装
由于Python某些第三方库仅提供源代码,通过pip下载文件后无法在 Windows系统编译安装,会导致第三方库安装失败。在 Windows平台下所遇到无法安装第三方库的问题大多属于这类
10.1.4pip工具使用
除了进行第三方库安装之外,pip工具能对第三方库进行基本的维护。执行pip-h 将列出pip 常用的子命令。
pip支持安装(install>、下载( download)、卸载( uninstall>、列表(list)、查看(show)、查找(search)等一系列安装和维护子命令。
pip 的uninstall子命令可以卸载一个已经安装的第三方库。
10.2PyInstaller库概述
PyIlnstaller是一个十分有用的 Python第三方库,它能够在 Windows、Linux、MacOS等操作系统下将Python源文件打包、变成直接可运行的可执行文件。
通过对源文件打包,Python程序可以在没有安装Python 的环境中运行,也可以作为一个独立文件方便传递和管理。PyInstaller需要在命令行下用pip工具安装。
pip install Pylnstaller
pip指令可以将PyInstaller 库自动安装到Python 解释器目录,与pip或pip3命令路径相同,可以直接在命令行调用。
Pylnstaller针对不同操作系统打包生成的可执行文件都不同。
10.3PyInstaller库与程序打包
使用PyInstaller库对Python源文件打包十分简单。语法结构:
Pyinstaller源文件名
执行完毕后,源文件所在目录将生成dist和 build两个文件夹。其中,build目录是PyInstaller存储临时文件的目录,可以安全删除。最终的打包程序在dist内部与源文件同中的目录中。目录中其他文件是可执行文件的动态链接库。
可以通过-F参数对Python源文件生成一个独立的可执行文件。
pyinstaller -F a.py
执行后在dist目录中出了a.exe文件,没有任何依赖库,执行它即可运行程序。使用Pylnstaller库需要注意以下问题:
文件路径不能出现空格和英文句号(.)源文件必须是UTF_8编码,暂时不支持其他编码类型。
pyinstaller命令的常用参数
-h、–help:查看帮助
–clean:清理打包过程中的临时文件
-D,–onedir:默认值,生成dist目录
-F,–onefile:在 dist文件夹中只能生成独立的打包文件
-i<图标文件名.ico>:指定打包程序使用的图标icon文件
pyinstaller命令不需要在Python源文件中增加代码,只需要通过命令进行打包即可。
10.4jieba库概述
由于中文文本的单词不是通过空格或者标点符号分割,中文及类似语言存在一个重要的“分词”问题。
jieba是Python 中一个重要的第三方中文分词函数库,能够将一段中文文本分割成中文词语的序列。jieba 库需要通过pip指令安装。
pip installer jieba
jieba 库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行比对,通过图结构和动态规划方法找到最大概率的词组。除了分词,jieba还提供增加自定义中文单词的功能。
jieba库支持三种分词模式:精确模式,将句子最精确地切开,适合文本分析;全模式,把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
对中文分词来说,jieba只需要一行代码。(英文文本不存在分词问题)
10.5jieba库与中文分词
jieba 库主要提供中文分词功能,可以辅助自定义分词词典。
jieba库常用的分词函数
jieba.lcut(s):精确模式,返回一个列表类型
jieba.lcut(s,cut_all=True):全模式,返回一个列表类型
jieba.lcut_for_search(s):搜索引擎模式,返回一个列表类型
jieba.add_word(w):向分词字典中增加新词w
jieba.lcut(s)是最常用的中文分词函数,用于精确模式,即将字符串分割成等量的中文词组,返回结果是列表类型。
jieba.lcut(s,cut_all=True)用于全模式,即将字符串的所有分词可能均列出来,返回结果是列表类型,冗余性最大。
相比精确模式,全模式会找到所有分词可能,比如“计算机”被分词为3个可能词语“计算”、“计算机”、“算机”。
Jieba.lcut_for_search(s)返回搜索引掌候式,首先执行精确模式,在对其中长词进一步切分获得最终结果。
相比精确模式,其中长词“计算机”被再次分词成“计算”、“算机”、“计算机”三个词语,存在一定冗余。
提示:精确模式因为不产生冗余,最为常用。
搜索引擎模式更倾向于寻找短诃语,这种方式具有一定冗余度,但相比全模式较少。
3种分词模式如何选择?看需求
如果希望对文本准确分词,不产生冗余,只能选择jieba.Icut(s)函数
希望对文本分词更准确,不漏掉仕何可能的分词结果,选用全模式。没想好怎么用,可以使用搜索引擎模式。
jieba.add word()函数,用来向jieba词库增加新的单词。
10.6wordcloud 库概述
数据展示的方式多种多样,传统的统计图尽管很“科学”,但略显古板。尤其对于文本来说,更加直观、带有一定艺术感的展示效果需要很大,对于这类需求,词云特有的展示方式深得人心。
词云以词语为基本单元,根据其在文本中出现的频率设计不同大小以形成视觉上的不同效果,形成“关键云层”或“关键词渲染”,从而使用读者只要“一瞥”即可领略文本的主旨。这种展示方式已经成为文本展示的样板。
Wordcloud库是专门用于根据文本生成词云的Python第三方库,十分常用且有趣。提示:词去
能够将文本转变成词云,也是一种必备能力。
有关wordcloud库的详细介绍可访问https://amueller.github.io/word cloud/安装wordcloud库在 Windows的cmd命令行使用如下:
10.7wordcloud库与可视化词云
在生成词云时,wordcloud默认会以空格或标点分隔符对目标文本进行分词处理。对于
中文文本,分词处理需要由用户来完成。一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数,处理中文时还需要指定中文字体。例如,选择了微软雅黑( msyh.ttc)
作为显示效果,需要将该字体文件与代码存放在同一目录下或在字体文件名前加上完整路径。
1 | import jieba |
Wordcloud库的核心是 WordCloud类,所有的功能都封装在 WordCloud类中。使用时需要实例化一个 WordCloud类的对象,并调用其 generate(text)方法将text文本转化为词云。WordCloud在创建时有一系列可选参数,用于配置词云图片。
font_path
指定字体文件的完整路径,默认None
width
生成图片宽度,默认400像素
height
生成图片高度,默认200像素
mask
词云形状,默认None,即方形图
min_font_size
词云中最小的字体字号,默认4号
font_step
字号步进间隔,默认1
max_font_size
词云中最大的字体字号,默认None,根据高度自动调节
max_words
词云图中最大词数,默认200
stopwords
被排除词列表,排除词不在词云中显示
background_color
图片背景色,默认黑色
WordCloud类的常用方法
generate(text)
由text文本生成词云
to_file(filename)
将词云图保存为名为filename的文件
wordcloud可以生成任何形状的词云,为了获取形状,需要提供一张形状的图像。
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~