分享

Python 新手入门必学的20个开源库

 新潮看世界 2023-03-15 发布于北京


1.requests

主要功能:发起http请求

做过爬虫的程序员一定知道Python的requests库,它使HTTP请求更简单方便。

除了使用requests请求库向服务器发送HTTP请求外,它还可以添加表单数据、内容、表头、多种协议文件等。使用requests库,开发人员无需向URL添加查询或手动对POST数据进行表单编码。

2.Pillow

主要功能:图像处理,图像存档,图像显示

Python Imaging Library,即PIL,具有强大的图像处理能力。简而言之,PIL允许在Python中操作、打开和保存各种图像文件格式。Pillow由Alex Clark和其他贡献者创建,是PIL的fork分支。

除了提供强大的图像处理能力外,Pillow还提供广泛的文件格式支持。Python核心库仅仅提供对以几种基本像素格式存储的数据的快速访问。

  • Pillow很适合批量处理图片

  • Pillow支持任意仿射变换、色彩空间转换、使用一组内置卷积内核进行过滤、图像大小和旋转以及点操作

  • Pillow的直方图方法允许从图像中提取一些统计数据,可用于自动对比度增强和全局统计分析

3.Scrapy

主要功能:抓取网页,自动测试、数据挖掘、网络抓取

Scrapy是一个免费和开源的Python爬虫框架,广泛用于网页抓取和许多其他任务,包括自动测试和数据挖掘。

Scrapy使构建和扩展成熟的网络抓取项目变得更加容易。Scrapy还支持使用命令行导出抓取的数据。

4.Asyncio

主要功能:异步工作

python asyncio库主要使用async/await语法编写并发代码。在大多数情况下,asyncio库是IO绑定和高级结构化网络代码的理想选择。

asyncio已用于构建各种Python异步框架,这些框架提供数据库连接库、分布式任务队列、高性能网络和Web服务器等。asyncio库附带许多高级和低级API。

5.Tkinter/PyQt

主要功能:GUI开发

Python提供了一种简单快速的创建GUI应用程序的方法。Tkinter是Python编程语言的标准GUI库。不过目前来说,PyQt更适合大众。

6. aiohttp

主要功能:作为异步HTTP客户端/服务器

aiohttp库是Python中的异步HTTP客户端或服务器。除此之外,它为客户端WebSockets和Server WebSockets提供开箱即用的支持,提供具有中间件、可插拔路由和信号的网络服务器。

7.Pygame

主要功能:2D游戏开发,多媒体应用程序开发

Pygame库主要用于在Python中完成多媒体应用程序开发,特别是二维游戏项目。

Pygame使用了SDL(Simple DirectMedia Layer)库。与SDL库一样,Pygame库具有高度便携性,因此为大量平台和操作系统提供支持。

我们还可以在智能手机和平板电脑等Android设备上移植使用Pygame开发的应用程序。不过,你需要使用pgs4a(Android版Pygame子集)。

8.Kivy

主要功能应用程序开发(具有新奇的用户界面)

为使用NUI(自然用户界面)构建移动应用程序和多点触控应用程序软件,开发人员就需要使用Kivy库。Kivy库可以在Android、iOS、Linux、macOS和Windows上运行。

实际上,Kivy是PyMT项目的演变。它包含直观的支持多点触控的所有必要元素,即图形库、具有多点触控支持的广泛小部件、中间语言(Kv)和广泛的输入支持。

Kv,或Kivy语言,是一种专门用于描述用户交互和界面的中间语言。它使创建完整的用户界面并添加交互变得非常容易。Kivy还为Raspberry Pi提供支持。

Kivy支持在OpenGL ES 2上构建的图形引擎

9.NumPy

主要功能科学和数值计算

NumPy是用于科学和数值计算以及数据分析的最佳开源Python模块之一。NumPy最常用于矩阵和数组的数学运算。由于其高效而快速的计算,NumPy是许多科学家进行数据分析的首选Python库。

NumPy还可以处理多维数组,这就是为什么这么多开发人员和数据科学家将其用于AI(人工智能)和ML(机器学习)项目。

10.SciPy

主要功能:数据可视化和操作,线性代数、优化算法、图像运算(多维)

像NumPy一样,SciPy是免费和开源的,SciPy基于NumPy,也可用于具有大型数据集的技术和科学计算。它在工程和科学分析中起着关键作用。

SciPy在图像处理方面效果很好。它具有高级命令,通常用于数据操作和可视化。

Scipy的函数和算法的集合都建立在NumPy上,具有用于求解微分方程的内置函数

11.Sci-Kit Learn

主要功能:机器学习应用,统计建模

Sci-Kit Learn基于NumPy和SciPy、Matplotlib机器学习库,以前称为Sklearn。Sci-Kit Learn是专门为开发机器学习和数据建模算法而设计的。Sci-Kit Learn提供几乎所有您需要的机器学习算法

12.Theano

主要功能:机器学习和深度学习,评估、分析和操作数学表达式

Theano数值计算库是为了在机器学习中的快速使用而创建的。许多开发人员使用Theano来创建深度学习模型。

Theano还提供了与NumPy集成的能力。当Theano与GPU(图形处理单元,如显卡)而不是CPU(中央处理单元,如英特尔酷睿i5或i7或AMD Ryzen等设备)一起使用时,它可以以高达140倍的速度执行其密集的数据计算。

13.TensorFlow

主要功能深度学习和传统机器学习;大型数值计算,基于文本的应用程序、视频检测、语音/图像识别、时间序列分析

TensorFlow主要目的是机器学习和深度学习以及预测和统计分析中的其他工作负载。TensorFlow的资源集合和内置工具帮助开发人员更轻松地构建他们的机器学习和深度学习模型。TensorFlow还有助于使开发人员构建神经网络更加简单。

TensorFlow的框架和架构非常灵活,允许库与CPU和GPU一起使用。但是,如果您想解锁TensorFlow的全部功能,则需要使用TPU(Tensor处理单元)。这个库也不仅限于桌面设备——您也可以在智能手机和服务器上使用它。

14.PyTorch

主要功能数据科学深度学习研究

PyTorch是另一个经常用于数据科学的开源库。这个库基于Torch(C编程语言的框架),也可以与NumPy等其他Python库集成。PyTorch能够无缝创建计算图,只要Python程序当前运行,这些图形就可以更改。

PyTorch最常用于DL和ML应用程序,包括NLP(自然语言处理)和计算机视觉。该库以能够快速执行而闻名,即使在处理重负载时也是如此

15.Keras

主要功能深度学习和机器学习数据可视化

Keras主要用于开发和评估机器学习和深度学习模型中的神经网络。该库可以在TensorFlow和Theano之上运行,这意味着开发人员可以在没有太多代码的情况下开始训练他们的神经网络。

Keras是灵活和可扩展的,同时也是模块化的,这就是为什么它即使是初学者也是一个不错的选择。这个库也是便携式的,这意味着您可以在各种环境中以及GPU和CPU上使用它。

开发人员还经常使用Keras进行数据可视化或建模。

Keras支持Theano和TensorFlow后端,提供预标记的数据集,开发人员可以直接用于加载/导入,Keras易于学习和使用,学习曲线更小。

16.Pandas

主要功能数据科学数据分析和机器学习

Pandas库允许用户构建无缝但直观的高级数据结构。Pandas用于各种行业,从统计到工程,甚至金融。

17.Matplotlib

主要功能数据可视化,机器学习

Matplotlib经常被吹捧为付费解决方案MATLAB的替代品。

Matplotlib,一个SciPy扩展,用于数据可视化,因为它用于创建图形和绘图。Matplotlib还可以使用Pandas输出的复杂数据模型以及NumPy创建的数据结构。

Matplotlib确实有一个限制——它只能进行二维绘图。尽管如此,该库仍然非常有能力以绘图、图表、直方图、绘图、散点图、错误图表,当然还有条形图的形式生成发布就绪的数据可视化。

由于Matplotlib的简单和直观,许多初学者在开始数据可视化时选择使用它。这也是许多已经拥有大量其他数据可视化工具经验的开发人员的选择。

18.Seaborn

主要功能数据可视化,机器学习

与Matplotlib非常相似,Seaborn是一个用于绘图和数据可视化的Python库。事实上,这个开源库基于Matplotlib本身,尽管Seaborn还包括Pandas的一些广泛的数据结构。Seaborn有一个充满功能的高级界面,允许用户创建不仅准确而且信息丰富的统计图。

Seaborn库创建了一些漂亮的数据可视化,这就是为什么该库非常适合用于营销和发布应用程序。

用户还喜欢Seaborn能够用简单的命令和最小的代码创建这些绘图和图形,这对许多人来说节省了时间。

19.BeautifulSoup

主要功能数据科学,网页抓取

Beautiful Soup因其能够解析HTML和XML文档而得名。这个Python软件包抓取网络并收集数据.作为一个令人难以置信的多功能包装,Beautiful Soup是许多数据分析师和科学家的首选工具之一。机器学习和深度学习开发人员还使用Beautiful Soup来获取用于训练ML/DL模型的数据。

20.OpenCV

主要功能计算机视觉和图像处理,机器学习

OpenCV库是实时计算机视觉程序的绝佳工具。这个高效的库可以处理各种视觉输入,不仅来自图像,还来自视频数据。OpenCV可以识别面孔、笔迹和对象。

OpenCV库执行异议跟踪、人脸检测、地标检测等任务,为开发人员提供2500多种经典、最先进的算法,甚至被谷歌、IBM、丰田等科技巨头广泛使用,也用于图像/视频分析。

更多文章,请持续关注我哦!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多