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成为高效的数据科学编程语言。
Python源码(Python source code)指的是Python编程语言的实现代码或源代码,包括Python解释器以及标准库中的模块和包,是用Python语言编写的源代码文件集合。
Python源码分为两部分:核心源代码和标准库源代码。核心源代码指的是Python解释器的源代码,即运行Python程序的主要程序。标准库源代码指的是Python的标准库,包括内置模块(如os、re、datetime等)、标准库模块(如math、random、json等)以及第三方库(如requests、numpy、pandas等)。
对于初学者来说,Python源码对其来说有一定的参考和学习价值。学习Python源码可以帮助人们更好地理解Python语言的工作原理和机制,理解Python实现细节,磨练自己的代码水平和能力。但是,由于Python源码庞大且复杂,所以人们一般不会从头学习,而是通过学习Python教程、参考文档等逐步掌握相关知识。
python库是指python中的完成一定功能的代码集合,供用户使用的代码组合;在python中库是包和模块的形式;其中python模块是包含并且有组织的代码片段,python包是一个有层次的文件目录结构。
Python常用库大全,看看有没有你需要的。
环境管理
管理 Python 版本和环境的工具。
p – 非常简单的交互式 python 版本管理工具。
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper- virtualenv 的一组扩展。
包管理
管理包和依赖的工具。
pip – Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
包仓库
本地 PyPI 仓库服务和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
devpi – PyPI 服务和打包/测试/分发工具。
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
分发
打包为可执行文件以便分发。
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
构建工具
将源码编译成软件。
buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
fabricate – 对任何语言自动找到依赖关系的构建工具。
PlatformIO – 多平台命令行构建工具。
PyBuilder – 纯 Python 实现的持续化构建工具。
SCons – 软件构建工具。
交互式解析器
交互式 Python 解析器。
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython- 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
imghdr – (Python 标准库)检测图片类型。
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
path.py – 对 os.path 进行封装的模块。
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。
Unipath- 用面向对象的方式操作文件和目录。
watchdog – 管理文件系统事件的 API 和 shell 工具。
日期和时间
操作日期和时间的类库。
arrow- 更好的 Python 日期时间操作类库。
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
dateutil – Python datetime 模块的扩展。
delorean- 解决 Python 中有关日期处理的棘手问题的库。
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。
文本处理
用于解析和操作文本的库。
通用
chardet – 字符编码检测器,兼容 Python2 和 Python3。
difflib – (Python 标准库)帮助我们进行差异化比较。
ftfy – 让Unicode文本更完整更连贯。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速计算编辑距离以及字符串的相似度。
pangu.py – 在中日韩语字符和数字字母之间添加空格。
pyfiglet -figlet 的 Python实现。
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 转换形式 。
uniout – 打印可读的字符,而不是转义的字符串。
xpinyin – 一个用于把汉字转换为拼音的库。
我也来几个吧
standard libs:
itertools http://docs.python.org/2/library/itertools.html。
functools http://docs.python.org/2/library/functools.html 学好python有必要掌握上面这两个库吧,
re 正则
subprocess http://docs.python.org/2/library/subprocess.html 调用shell命令的神器。
pdb 调试
traceback 调试
pprint 漂亮的输出
logging 日志
threading和multiprocessing 多线程。
urllib/urllib2/httplib http库,httplib底层一点,推荐第三方的库requests。
os/sys 系统,环境相关
Queue 队列
pickle/cPickle 序列化工具。
hashlib md5, sha等hash算法。
cvs
json/simplejson python的json库,据so上的讨论和benchmark,simplejson的性能要高于json。
timeit 计算代码运行的时间等等。
cProfile python性能测量模块。
glob 类似与listfile,可以用来查找文件。
atexit 有一个注册函数,可用于正好在脚本退出运行前执行一些代码。
dis python 反汇编,当对某条语句不理解原理时,可以用dis.dis 函数来查看代码对应的python 解释器指令等等。
3th libs:
paramiko https://github.com/paramiko/paramiko ssh python 库。
selenium https://pypi.python.org/pypi/selenium 浏览器自动化测试工具selenium的python 接口。
lxml http://lxml.de/ python 解析html,xml 的神器。
mechanize https://pypi.python.org/pypi/mechanize/ Stateful programmatic web browsing。
pycurl https://pypi.python.org/pypi/pycurl cURL library module for Python。
Fabric http://docs.fabfile.org/en/1.8/。
Fabric is a Python (2.5 or higher) library and command-line tool for 。
streamlining the use of SSH for application deployment or systems 。
administration tasks.。
xmltodict https://github.com/martinblech/xmltodict xml 转 dict,真心好用。
urllib3 和 requests: 当然其实requests就够了 Requests: HTTP for Humans。
flask http://flask.pocoo.org/python web 微框架。
ipdb 调试神器,同时推荐ipython!结合ipython使用。
redis redis python接口。
pymongo mongodbpython接口。
PIL http://www.pythonware.com/products/pil/ python图像处理。
mako http://www.makotemplates.org/ python模版引擎。
numpy , scipy 科学计算。
matplotlib 画图
scrapy 爬虫
django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/服务器。
sh 1.08 — sh v1.08 documentation 用来运行shell 模块的 极佳选择。
暂时记得这么多吧,不过都是我自己常用的库 :) 。。欢迎补充。
UPDATE:
A curated list of awesome Python frameworks, libraries and software.。
vinta/awesome-python · GitHub。
几乎所有很赞的 python 库,和框架都在这个列表里。
其他的 awesome list:
bayandin/awesome-awesomeness · GitHub。
原文地址:http://www.qianchusai.com/python%E4%BB%A3%E7%A0%81%E5%BA%93.html