Python中6个最重要的库:
第一、NumPy
NumPy是Numerical
Python的简写,是Python数值计算的基石。它提供多种数据结构、算法以及大部分涉及Python数值计算所需的接口。NumPy还包括其他内容:
①快速、高效的多维数组对象ndarray
②基于元素的数组计算或数组间数学 *** 作函数
③用于读写硬盘中基于数组的数据集的工具
④线性代数 *** 作、傅里叶变换以及随机数生成
除了NumPy赋予Python的快速数组处理能力之外,NumPy的另一个主要用途是在算法和库之间作为数据传递的数据容器。对于数值数据,NumPy数组能够比Python内建数据结构更为高效地存储和 *** 作数据。
第二、pandas
pandas提供了高级数据结构和函数,这些数据结构和函数的设计使得利用结构化、表格化数据的工作快速、简单、有表现力。它出现于2010年,帮助Python成为强大、高效的数据分析环境。常用的pandas对象是DataFrame,它是用于实现表格化、面向列、使用行列标签的数据结构以及Series,一种一维标签数组对象。
pandas将表格和关系型数据库的灵活数据 *** 作能力与Numpy的高性能数组计算的理念相结合。它提供复杂的索引函数,使得数据的重组、切块、切片、聚合、子集选择更为简单。由于数据 *** 作、预处理、清洗在数据分析中是重要的技能,pandas将是重要主题。
第三、matplotlib
matplotlib是最流行的用于制图及其他二维数据可视化的Python库,它由John D.
Hunter创建,目前由一个大型开发者团队维护。matplotlib被设计为适合出版的制图工具。
对于Python编程者来说也有其他可视化库,但matplotlib依然使用最为广泛,并且与生态系统的其他库良好整合。
第四、IPython
IPython项目开始于2001年,由Fernando
Pérez发起,旨在开发一个更具交互性的Python解释器。在过去的16年中,它成为Python数据技术栈中最重要的工具之一。
尽管它本身并不提供任何计算或数据分析工具,它的设计侧重于在交互计算和软件开发两方面将生产力最大化。它使用了一种执行-探索工作流来替代其他语言中典型的编辑-编译-运行工作流。它还提供了针对 *** 作系统命令行和文件系统的易用接口。由于数据分析编码工作包含大量的探索、试验、试错和遍历,IPython可以使你更快速地完成工作。
第五、SciPy
SciPy是科学计算领域针对不同标准问题域的包集合。以下是SciPy中包含的一些包:
①scipy.integrate数值积分例程和微分方程求解器
②scipy.linalg线性代数例程和基于numpy.linalg的矩阵分解
③scipy.optimize函数优化器和求根算法
④scipy.signal信号处理工具
⑤scipy.sparse稀疏矩阵与稀疏线性系统求解器
SciPy与Numpy一起为很多传统科学计算应用提供了一个合理、完整、成熟的计算基础。
第六、scikit-learn
scikit-learn项目诞生于2010年,目前已成为Python编程者首选的机器学习工具包。仅仅七年,scikit-learn就拥有了全世界1500位代码贡献者。其中包含以下子模块:
①分类:SVM、最近邻、随机森林、逻辑回归等
②回归:Lasso、岭回归等
③聚类:K-means、谱聚类等
④降维:PCA、特征选择、矩阵分解等
⑤模型选择:网格搜索、交叉验证、指标矩阵
⑥预处理:特征提取、正态化
scikit-learn与pandas、statsmodels、IPython一起使Python成为高效的数据科学编程语言。
主流的关系型数据库:
1. MySQL:目前使用最广泛的开源、多平台的关系型数据库,支持事务、符合ACID、支持多数SQL规范。
2. SQL Server:支持事务、符合ACID、支持多数SQL规范,属于商业软件,需要注意版权和licence授权费用。
3. Oracle:支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,功能最强大、最复杂、市场占比最高的商业数据库。
4. Postgresql:开源、多平台、关系型数据库,功能最强大的开源数据库,需要Python环境,基于postgresql的time
scaleDB,是目前比较火的时序数据库之一。
非关系型数据库:
非关系型数据库也被称为nosql,作为关系型数据库的一个补充,能在特定场景和特点问题下发挥高效率和高性能。
常见的非关系型数据库类型有键值存储数据库和面向文档数据库。
键值存储数据库类似hash,通过key做添加、删除、查询、性能高,优势在于简单、易部署、高并发,主要产品有:
Redis:开源、Linux平台、key-value键值型nosql数据库,简单稳定,非常主流的、全数据in-momory,定位于快的键值型nosql数据库。
Memcaced:一个开源的、高性能的、具有分布式内存对象的缓存系统,通过它可以减轻数据库负载,加速动态的web应用。
面向文档数据库以文档的形式存储,每个文档是一系列数据项的集合,每个数据项有名称与对应的值,主要产品有:
MongoDB:开源、多平台、文档型nosql数据库,最像关系型数据库,定位于灵活的nosql数据库。适用于网站后台数据库、小文件系统、日志分析系统。
1、数据收集:(1)Scrapy:协助使用者自动提取网页所需信息,并将其整理为表格或JSON格式的数据结构;(2)Selenium:使用者在感兴趣的网站上已经进行了交互行为之后,Seleniumn一般能派上用场;(3)BeautifulSoup:用来收集网站内容的Python库,更适合应用于规模相对较小的问题或一次性任务。2、数据清理和转化:(4)Pandas:必须学习的,使用者可以运用Pandas *** 控处于Pandas数据框架内的数据,而且其内置巨量的函数,帮助使用者进行数据转换;(5)Numpy:必须学习的,Numpy将Python的对象列表拓展成了全面的多维度序列,而且其内置海量的数学函数;(6)Spacy:帮助使用者将自由文本转化为结构型数据,支持多种语言版本。
3、数据可视化:(7)Matplotlib:最全面的Python数据可视化库;(8)Plotly:只需要写最少的代码就能得出最多彩缤纷的图像。
4、数据模块化:(9)Scikit Learn:高级分析师,开启机器学习之旅,有六大主要模块:数据预处理,维度缩减,数据回归,数据分类,数据聚类分析,模型选择;(10)Tensorflow:由谷歌推出的来源机器学习库,是一个基于网页自动生成的仪表盘,它将数据学习流和结果进行了可视化处理,这一功能对于排错和展示都十分有用;(11)PyTorch:由Facebook发布的一个开源库,用作Python的公共机器学习框架。
5、音频和图像识别:(12)OpenCV:是最常用的图像和视频识别库,能让Python在图像和视频识别领域完全替代Matlab,不仅支持Python,还支持JAVA和Matlab;(13)Librosa:是一个非常强大的音频和声音处理Python库,可以从音频段中提取各个部分,例如节奏以及节拍。
6、网页:(14)Django:开发网页服务后端,设计理念是能用几行代码就建立一个网站的高级框架;(15)Flask:是一个用于Python的轻量级网页开发框架。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)