NumPy:表达N维数组的最基础库
-Python接口使用,C语言实现,计算速度优异
-Python数据分析及科学计算基础库支持Pandas等
-提供直接矩阵运算,广波函数,线性代数等功能
例:输出a的平方和b的平方之和:
自带列表形式:
def pySum():
a = [0, 1, 2, 3, 4]
b = [9, 8, 7, 6, 5]
c = []
for i in range(len(a)):
c.append(a[i] ** 2 +b[i] ** 2)
return c
print(pySum())
结果:
[81, 65, 53, 45, 41]
NumPy形式:
import numpy as np
def npSum():
a = np.array([0, 1, 2, 3, 4])
b = np.array([9, 8, 7, 6, 5])
c = a ** 2 + b ** 2
return c
print(npSum())
结果:
[81 65 53 45 41]
NumPy:www.numpy.org
---------------------------------------------------------------------------------------------------------------------------
Pandas:Python数据分析高层次应用库
-提供了简单易用的数据结构和数据分析工具
-理解数据类型与索引的关系,操作索引即操作数据
-Python最主要的数据分析功能库,基于NumPy开发
series = 索引 + 一维数据
DataFrame = 行列索引 + 二维数据
padas:pandas.pydata.org
---------------------------------------------------------------------------------------------------------------------------
SciPy:数学、科学和工程计算计算功能库
-提供了一批数学算法及工程数据运算功能
-类似Mathlab,可用于如傅里叶变换、信号处理等应用
-Python最主要的科学计算功能库,基于NumPy开发
网址:www.scipy.org
=======================================================================
matplotlib:高质量的二维数据可视化功能库
-提供了超过100种数据可视化展示效果
-通过matplotlb.pyplot子库调用各可视化效果
-Python最主要的数据可视化功能库,基于NumPy开发
网址:matplot.org
---------------------------------------------------------------------------------------------------------------------------
Seaborn:统计类数据可视化功能库
-提供了一批高层次的统计类数据可视化展示效果
-主要展示数据间分布、分类和线性关系等内容
-基于Matplotlib开发,支持NumPy和Pandas
网址:seaborn.pydata.org
---------------------------------------------------------------------------------------------------------------------------
Mayavi:三维科学数据可视化功能库
-提供了一批简单易用的3D科学计算数据可视化展示效果
-目前版本是Mayavi2,三维可视化最主要的第三方库
-支持NumPy、TVTK、Traits、Envisage等第三方库
网址:docs.enthought.com/majavi/majavi
=======================================================================
PyPDF2:用来处理PDF文件的工具集
-提供了一批处理PDF文件的计算功能
-支持获取信息、分割/整合文件、加密解密等
-完全Python语言实现,不需额外依赖,功能稳定
以下代码可以将两个 PDF文件合二为一:
from PyPDF2 import PdfFileReader, PdfFileMerger
merger = PdfFileMerger()
input1 = open('document1.pdf', 'rb')
input2 = open('document2.pdf', 'rb')
merger.append(fileobj = input1, pages = (0, 3))
merger.merge(position = 2, fileobj = input2, pages = (0, 1))
output = open('document-output.pdf', 'wb')
merger.write(output)
所以以后对PDF文件处理时记得想起来PyPDF2,网址:mstamy2.github.io/PyPDF2
---------------------------------------------------------------------------------------------------------------------------
NLTK:自然语言文本处理第三方库
-提供了一批简单易用的自然语言文本处理功能
-支持语言文本分类、标记、语句语法、语义分析等
-最优秀的Python自然语言处理库
可以用以下代码把自然语言文本变成一个树状结构并分析其中各部分逻辑关系:
from nltk import treebank
t = treebank.parsed_sents('wsj_0001.')[0]
t.draw()
网址:www.nltk.org
---------------------------------------------------------------------------------------------------------------------------
Python-docx:创建或更新Microsoft Word文件的第三方库
-提供创建或更新.doc、.docx等文件计算功能
-增加并配置段落、图片、表格、文字等,功能全面
以下代码可创建一个DOCX文件:
from docx import Document
document = Document()
document.add_heading('Document Title', 0)#增加标题
p = document.add_paragraph('A plain paragraph having some ')#增加段落
document.add_page_break()#增加分页符
document.save('demo.docx')#存储
网址:http://python-docx.readthedocs.io/en/latest/indext.html
=======================================================================
Scikit-learn:机器学习方法工具集
-提供一批统一化的机器学习方法功能接口
-提供聚类、分类、回归、强化学习等计算功能
-机器学习最基本且最优秀的Python第三方库
网址:scikit-learn.org
---------------------------------------------------------------------------------------------------------------------------
TensorFlow:AlphaGo背后的机器学习框架
-谷歌公司研发并推动的开源机器学习框架
-将数据流图作为基础,图节点代表运算,边代表张量
-应用机器学习方法的一种方式,支撑谷歌人工智能的应用
以下用TensorFlow的代码完成机器学习的应用:
import tensorflow as tf
inti = tf.global_variables_initlalizer()
sess = tf.Session()
sess.run(init)
res = sess.run(result)
print('result:',res)
网址:www.tensorflow.org
---------------------------------------------------------------------------------------------------------------------------
MXNet:基于神经网络深度学习的计算框架
-提供可扩展的神经网络及深度学习计算功能
-可用于自动驾驶、机器翻译、语音识别等众多领域
-Python深度学习最重要的计算框架
网址:mxnet.incubator.apache.org
(以上内容有些没有执行,出现错误欢迎批评指正!)