一,第三方库简要介绍
1、爬虫库
典型有两个request库和scrapy库
request库
是最简单易用的HTTP库,常见且常见的
scrapy库
快速的高层次的web获取框架,本身包含了成熟的网络爬虫系统应具有的功能
2、数据分析库
numpy库
处理类型相同的多维数组,存储和处理大型矩阵,另外,机器学习算法中大部分都是调用numpy库来完成基础数值计算的。
numpy比Python列表更具优势,其中一个优势便是速度。
numpy的另一个强大功能是具有可以表示向量和矩阵的多维数组数据结构。numpy对矩阵运算进行了优化,使我们能够高效地执行线性代数运算,使其非常适合解决机器学习问题。
numpy具有的另一个强大优势是具有大量优化的内置数学函数。这些函数使你能够非常快速地进行各种复杂的数学计算,并且用到很少代码(无需使用复杂的循环),使程序更容易读懂和理解。
注意,numpy中元素必须是同一类型
import numpy as np
array_one = np.ones([4, 4], dtype=np.int)#矩阵大小,元素类型
print(array_one)
>>>
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
import numpy as np
array_eye = np.eye(5)#创建单位矩阵
print(array_eye)
>>>
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
scipy库
scipy是一个用于数学、科学、工程领域的常用软件包,可以处理插值、积分、优化、图像处理、常微分方程数值解的求解、信号处理等问题。它用于有效计算numpy矩阵,使numpy和scipy协同工作,高效解决问题。
曲线拟合
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from numpy import polyfit, poly1d
x = np.linspace(-5, 5, 100)
y = 4 * x + 1.5
noise_y = y + np.random.randn(y.shape[-1]) * 2.5
coeff = polyfit(x, noise_y, 1)
p = plt.plot(x, noise_y, 'rx')
p = plt.plot(x, coeff[0] * x + coeff[1], 'k-')
p = plt.plot(x, y, 'b--')
plt.show()
结果如图:
3、文本处理库
pdfminer库
从PDF中提取信息
openpyxl库
处理Excel文档
python-docx库
处理word文档
beautifulsoup4库
解析HTML和XML
4、数据可视化库
matplotlib库
用于二维图表表示
import matplotlib.pyplot as plt
plt.plot([4,7,1,9,4])
#绘图接收一个list,如果只有一个list默认其为Y轴,X轴数据为其索引值,从0开始
plt.ylabel("grade")
plt.axis([-2,8,0,12])
#axis函数接收一个list,设定横纵坐标尺度,list各个参数分别代表[X初始刻度,X终止刻度,Y起始刻度,Y终止刻度]
plt.show()
tvtk库
三维可视化工具
mayavi库
更方便的三维可视化工具
5、用户图形界面库
pyqt5库
最成熟的图形界面库
pyqt5应用使用的所有图标都是从easyicon网站下载的,easyicon的官方网址是:http://www.easyicon.net/
6、机器学习库
scikit-learn库
简单易用,接口抽象得非常好,而且文档支持实在感人。本文中,我们可以封装其中的很多机器学习算法,然后进行一次性测试,从而便于分析取优。
数据挖掘和数据分析工具,主要功能有分类,回归,聚类,降维,预处理
TensorFlow库
Google发布的,支持AlphaGo系统,主要应用于语音识别,图像识别
theano库
执行深度学习中大规模网络算法
theano 在深度学习框架中是祖师级的存在。它的开发始于 2007,它也被大量地运用于教育行业和自我学习提升(例如:加拿大蒙特利尔大学的深度学习课程)。
7、其他有意思的库
PIL库
图像处理库
PIL库主要用途
图像存储
PIL适合图像归档和图像批量处理,你可以使用它建立缩略图,转换格式,打印图片等。
现在的版本可以识别和读取大量的图片格式,写入常用的转换和表示格式。
图像显示
支持多个其他工具包的展示,提供了show()方法,可以保存图像到磁盘并调用外显示。它将图像保存到磁盘,并调用外部显示工具。
图像处理(重点)
包含了基本的图像处理功能,包括点操作,使用内置卷积内核过滤,色彩空间转换。
支持更改图像大小、旋转、任意仿射变换。
sympy库
支出高精度计算,解方程,微积分,几何,统计
sympy是一个数学符号库,包括了积分,微分方程等各种数学运算方法,为python提供了强大的数学运算支持。对于图像来说,虽然都是做离散的计算,操作最多的还是numpy里的数组,但实际上,这个库包含了积分微分,三角等最基本的数学运算,可以说是工科最基本的,用起来媲美matlab。
weRoBot库
微信公众号开发框架
这个库封装了微信公众号的很多接口。通过这个库你可以很容易的给订阅你公众号的粉丝发送消息、推送图文、跟粉丝互动。
MyQR库
产生二维码
不仅可以生成各种花色的二维码,还可以生成动态二维码。
MyQR是一个能够生成自定义二维码的第三方库,可以根据需要生成普通二维码、带图片的艺术二维码,也可以生成动态二维码
jieba库
将一句话或一段文字,自动切断,生成一个列表,切断规则按照语法或常用语。
还可以存入自己的常用语,作为一个词语,不让他自动切分。
import jieba
print(jieba.lcut('三维激光扫描主要有:激光器,测角,扫描等组成'))
jieba.add_word('三维激光')
print(jieba.lcut('三维激光扫描主要有:激光器,测角,扫描等组成'))
#输出得到
['三维', '激光', '扫描', '主要', '有', ':', '激光器', ',', '测角', ',', '扫描', '等', '组成']
['三维激光', '扫描', '主要', '有', ':', '激光器', ',', '测角', ',', '扫描', '等', '组成']
Word cloud库
词云库,更适合英文的以空格和标点隔开
最常用的库——sys库
常看python解释器信息,以及传递信息给python解释器
sys.argv说明
从程序外部获取参数的桥梁,返回一个列表。
其中包含脚本路径,以及传递给脚本的命令参数
特点是,无需用户给参数,由系统给参数。也就是说,有电脑别的程序给参数。
sys.exit()
程序正常退出
sys.exit(1)
参数非零,程序异常退出
二,第三方库安装使用
一般使用pycharm里面的自带的安装方法
File–>setting–>project–>"+"–>搜索需要的库
注意下载网址,添加下载网址时,点击“+”后,左下角有“manage repository”,输入第三方库网址,常用的网址有:https://pypi.tuna.tsinghua.edu.cn/simple/
在命令提示符中,输入“pip list”查看电脑安装了几个第三方库
导出.exe文件
在pycharm的底部找到“Terminal”窗口,打开输入:
pyinstaller 项目名.py
点回车,在C:\Users\用户名\PycharmProjects\untitled,中得到两个文件夹,dist和build,.exe文件在dist中,点击执行。
在在pycharm的底部找到“Terminal”窗口,打开输入:
pyinstaller -F 项目名.py -i 789.ico
得到两个文件夹,dist和build,在dist中只有.exe文件,且图表是自己设定的789.ico,且当做图表的只能是.ico文件
转换图片为.ico文件的网站是:
http://www.bitbug.net/