数据分析和可视化

1.matplotlib
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。Matplotlib 可用于 Python 脚本,Python 和 IPython shell(例如 MATLAB 或 Mathematica)。

2.numpy
NumPy是Python科学计算的基础工具包,包括统计学、线性代数、矩阵数学、金融操作等等很多Python数据计算工作库都依赖它。支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

3.pyecharts
Pyecharts是一个用于生成 Echarts 图表的类库。

4.pandas
Pandas是一个用于Python数据分析的库,它的主要作用是进行数据分析。Pandas提供用于进行结构化数据分析的二维的表格型数据结构DataFrame,类似于R中的数据框,能提供类似于数据库中的切片、切块、聚合、选择子集等精细化操作,为数据分析提供了便捷。

5.scipy
Scipy是一组专门解决科学和工程计算不同场景的主题工具包,它用于有效计算Numpy矩阵,使Numpy和Scipy协同工作,高效解决问题。

6.plotly
Plotly一个开源的、交互式的、基于浏览器的 Python 图形库,支持散点图、3D图等众多图形。

7.statsmodels
Statsmodels是Python的统计建模和计量经济学工具包,包括一些描述性统计、统计模型估计和统计测试,集成了多种线性回归模型、广义线性回归模型、离散数据分布模型、时间序列分析模型、非参数估计、生存分析、主成分分析、核密度估计以及广泛的统计测试和绘图等功能。

网络爬虫

1.requests
网络请求库,提供多种网络请求方法并可定义复杂的发送信息,对HTTP协议进行高度封装,支持非常丰富的链接访问功能。

2.bs4
BS4全称是Beatiful Soup,它提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。

3.scrapy
分布式爬虫框架,可用于模拟用户发送、侦听和解析并伪装网络报文,常用于大型网络数据爬取。

4.portia
Portia是scrapyhub开源的一款可视化的爬虫规则编写工具。它提供可视化的Web页面,你只需要通过点击标注页面上你需要抽取的数据,不需要任何编程知识即可完成规则的开发。

5.cola
Cola是一个分布式的爬虫框架,用户只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。

自动化

1.selenium
是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。
2.pymysql是Python操作MySQL数据库 。
3. pymongo
是Python中用来操作MongoDB的一个库。而MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
4.splinter Splinter 是一个用 Python 编写的 Web 应用程序进行验收测试的工具。
5.openpyxl 一个处理Microsoft Excel文档的Python第三方库,它支持读写Excel的xls、xlsx、xlsm、xltx、xltm。
6. python-docx
一个处理Microsoft Word文档的Python第三方库,它支持读取、查询以及修改doc、docx等格式文件,并能够对Word常见样式进行编程设置。

Web开发

1.Django
Django是一个开放源代码的Web应用框架,由Python开发。采用了MTV的框架模式,即模型M,视图V和模版T。

2.Pyramid
是一个通用、开源的Python Web应用程序开发框架。它主要的目的是让Python开发者更简单的创建Web应用,相比Django,Pyramid是一个 相对小巧、快速、灵活 的开源Python Web框架。

3.Tornado
一种 Web 服务器软件的开源版本。Tornado和现在的主流Web服务器框架(包括大多数Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快

4.Flask
是轻量级Web应用框架,相比Django和Pyramid,它也被称为微框架 。使用Flask开发Web应用十分方便,甚至几行代码即可建立一个小型网站。Flask核心十分简单,并不直接包含诸如数据库访问等的抽象访问层,而是通过扩展模块形式来支持。

机器学习

1.Scikit-learn
Scikit-learn是机器学习的核心程序库,依托于上面的几种工具包,封装了大量经典以及最新的机器学习模型。

  1. NLTK
    NLTK,全称Natural Language Toolkit,自然语言处理工具包,这是一个开源项目,包含数据集、Python模块、教程等。

3.Keras
是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。

4.Caffe
是一个兼具表达性、速度和思维模块化的深度学习框架。主要用于计算机视觉,它对图像识别的分类具有很好的应用效果。

5.theano
是一个 Python 库,用来定义、优化和模拟数学表达式计算,用于高效的解决多维数组的计算问题。

AI部分

Python 在人工智能(AI)领域有丰富的第三方库,这些库提供了从数据处理到模型训练和部署的各种功能。以下是一些广泛使用的人工智能相关的Python库:

  1. NumPy - 用于高性能数值计算。
  2. Pandas - 数据分析和结构化数据处理工具。
  3. Matplotlib - 强大的数据可视化库。
  4. Scikit-learn - 提供简单有效的数据挖掘和数据分析工具。
  5. TensorFlow - 由Google主导的开源机器学习框架。
  6. Keras - 一个高层神经网络API,可以运行在TensorFlow之上。
  7. Theano - 一个用于定义、优化和评估数学表达式的库,已不再更新,但仍然是某些旧项目的基础。
  8. PyTorch - 由Facebook开发的开源机器学习库,特别是在动态计算图方面有优势。
  9. Caffe - 由Berkeley Vision and Learning Center (BVLC)开发的一个快速的深度学习框架。
  10. OpenCV - 开源计算机视觉库,用于处理图片和视频。
  11. scipy - 基于NumPy,用于科学和技术计算的库。
  12. Seaborn - 基于matplotlib的数据可视化库,提供更高级的接口。
  13. XGBoost - 提供梯度提升算法的库,非常适用于机器学习竞赛和生产环境。
  14. LightGBM - Microsoft开发的梯度提升框架,特点是效率高、速度快、内存占用低。
  15. Pybrain - 提供一系列机器学习算法和数据挖掘技术的库。
  16. Stanford CoreNLP - 用于处理自然语言处理任务的库。
  17. NLTK - 自然语言处理工具包。
  18. spaCy - 用于自然语言处理的工业级库,速度快,功能强大。
  19. Gensim - 用于主题建模和相似性检测的库。
  20. Beautiful Soup - 用于解析HTML和XML文档的库,常用于网络爬虫。

游戏开发

在Python中,虽然Pygame是最著名的游戏开发库,但还有其他一些三方库可以帮助开发者创建和开发游戏。以下是一些在Python中用于游戏开发的其他三方库:

  1. Pyglet - 一个专注于精灵(sprites)和OpenGL的游戏开发库。它提供了一种简单的方式来创建窗口、加载图像、处理输入和播放声音。
  2. Arcade - 一个现代的Python游戏开发库,它是Pygame的一个分支,旨在提供更简单的API和更好的性能。
  3. Pygame Zero - 专为初学者设计的Pygame分支,它简化了游戏的设置过程,并提供了一些内置的示例游戏。
  4. Kivy - 一个开源的Python库,用于开发多点触控应用程序,包括游戏。它支持多种平台,并提供了一套丰富的组件。
  5. Ventor - 一个用于创建2D游戏的Python库,它提供了一些高级功能,如物理引擎和动画。
  6. Godot Engine - 虽然Godot不是纯Python库,但它是一个开源的游戏引擎,可以用Python作为其脚本语言。Godot支持2D和3D游戏开发。
  7. RPGpy - 一个用于创建角色扮演游戏(RPG)的Python库,它提供了一些特定的功能,如战斗系统、物品管理和地图生成。
  8. Cocos2d-x - 一个开源的游戏开发框架,可以用Python(通过Pygame)或其他语言编写游戏。它支持2D游戏的跨平台开发。
  9. Panda3D - 一个用于创建3D游戏的Python库,它提供了一个强大的游戏引擎,支持多种渲染技术和物理模拟。
  10. Lepton - 一个轻量级的游戏开发框架,它允许开发者用很少的代码快速创建游戏。
    这些库各有特点,适用于不同的游戏开发需求。在选择合适的库时,需要考虑游戏的类型、平台兼容性、性能要求以及开发者的熟悉度。

运维和系统管理

在Python中,有许多三方库专门用于运维和系统管理任务。以下是一些常用的库:

  1. Paramiko - 用于SSH连接和管理的库,可以用来远程登录服务器、执行命令和文件传输。
  2. Fabric - 一个Python库,用于通过SSH进行远程执行和部署。它提供了一个简单的API来编写脚本,自动化远程服务器上的任务。
  3. Ansible - 一个自动化工具,用于配置管理、应用部署和云编排。它使用Python角色和Playbook来定义和管理基础设施。
  4. Pywinrm - 用于Windows远程管理的Python库,它使用WS-Management协议来执行远程命令和脚本。
  5. WinRM - 另一个用于Windows远程管理的库,它提供了一个Python客户端来与Windows远程管理服务交互。
  6. ** fabric8** - 一个用于自动化部署和管理云应用程序的库,它是Fabric的一个扩展,增加了对Docker和Kubernetes的支持。
  7. SaltStack - 一个配置管理和远程执行的开源工具,它使用Python编写配置和模块,可以用来自动化服务器管理任务。
  8. Puppet - 虽然Puppet不是Python库,但它是一个流行的自动化工具,可以用Python编写模块和资源类型。
  9. Chef - 另一个流行的自动化工具,它也支持用Python编写食谱和库。
  10. Nagios Plugins - 一系列用于Nagios监控工具的Python插件,用于检查系统状态和服务。
  11. Pexpect - 一个库,用于模拟交互式命令行程序,可以用来自动化脚本,与命令行工具进行交互。
  12. ** fabric3** - Fabric的另一个版本,它提供了一些改进,特别是对Unix和Windows系统的支持。
  13. RemoteJob - 一个简单的库,用于在远程服务器上运行脚本和命令。
  14. Python PSutil - 一个跨平台库,用于系统监控和进程管理。
    这些库可以帮助系统管理员和运维工程师自动化和管理服务器和云基础设施。选择哪个库取决于具体的任务需求、熟悉程度以及与现有系统的兼容性。
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐