常用Python库整理

乎语百科 249 0

记录工作和学习中遇到和使用过的Python库。

Target

四个Level

  • 整理 Collect

  • 学习 Learn

  • 练习 Practice

  • 掌握 Master

1. Python原生和功能增强

1.1 python-dateutil

Python-dateutil 模块为标准的 datetime 模块提供了强大的功能扩展。普通的 Python datetime 无法做到的事情都可以使用 python-dateutil 完成。

https://juejin.cn/post/7028598668483641351

1.2 pytz

类似于dateutils,该库可以帮助你操作日期和时间。处理时区很麻烦。幸运的是,这个包可以让时区处理变得很容易。

关于时间,我的经验是:在内部永远使用UTC,只有在需要产生供人阅读的输出时才转换成本地时间。

https://cloud.tencent.com/developer/article/1619246

1.3 jsonpath

jsonpath用来解析json数据,是一种简单的方法来提取给定JSON文档的部分内容。它提供了类似正则表达式的语法,可以解析复杂的嵌套数据结构,可以非常方便的提取接口返回的数据信息。

https://cloud.tencent.com/developer/article/1511637

Online Evaluator: https://jsonpath.com/

1.4 progress,tqdm

创建进度条。

python/article/details/118764070" rel="external nofollow noreferrer">https://blog.csdn.net/qianfengpython/article/details/118764070

2. 科学计算,统计学,数据分析和可视化

2.1 Numpy

NumPy是Numerical Python的简写,是Python数值计算的基石。它提供多种数据结构、算法以及大部分涉及Python数值计算所需的接口。NumPy还包括其他内容:

  • 快速、高效的多维数组对象ndarray

  • 基于元素的数组计算或数组间数学操作函数

  • 用于读写硬盘中基于数组的数据集的工具

  • 线性代数操作、傅里叶变换以及随机数生成

除了NumPy赋予Python的快速数组处理能力之外,NumPy的另一个主要用途是在算法和库之间作为数据传递的数据容器。对于数值数据,NumPy数组能够比Python内建数据结构更为高效地存储和操作数据。

2.2 Pandas

pandas提供了高级数据结构和函数,这些数据结构和函数的设计使得利用结构化、表格化数据的工作快速、简单、有表现力。

2.3 Matplotlib

对于Python编程者来说也有其他可视化库,但matplotlib依然使用最为广泛,并且与生态系统的其他库良好整合。我认为将它作为默认可视化工具是一个安全的选择。

2.4 SciPy

SciPy是科学计算领域针对不同标准问题域的包集合。以下是SciPy中包含的一些包:

  • scipy.integrate 数值积分例程和微分方程求解器

  • scipy.linalg 线性代数例程和基于numpy.linalg的矩阵分解

  • scipy.optimize 函数优化器(最小化器)和求根算法

  • scipy.signal 信号处理工具

  • scipy.sparse 稀疏矩阵与稀疏线性系统求解器

  • scipy.special SPECFUN的包装器。SPECFUN是Fortran语言下实现通用数据函数的包,例如gamma函数。

  • scipy.stats 标准的连续和离散概率分布(密度函数、采样器、连续分布函数)、各类统计测试、各类描述性统计。

SciPy与NumPy一起为很多传统科学计算应用提供了一个合理、完整、成熟的计算基础。

2.5 Statsmodels

statsmodels是一个统计分析包。

与scikit-learn相比,statsmodels包含经典的(高频词汇)统计学、经济学算法。它所包含的模型如下。

  • 回归模型:线性回归、通用线性模型、鲁棒线性模型、线性混合效应模型等

  • 方差分析(ANOVA )

  • 时间序列分析:AR、ARMA、ARIMA、VAR等模型

  • 非参数方法:核密度估计、核回归

  • 统计模型结果可视化

statsmodels更专注于统计推理,提供不确定性评价和p值参数。相反,scikit-learn更专注于预测。

2.6 Seaborn

2.7 PyEcharts

2.8 python/" rel="external nofollow noreferrer">Plotly

  • 需要梯子

2.9 Pasty

Patsy是一个python库,用于描述统计模型(尤其是线性模型),方法是通过一个叫做公式语法(formula syntax)的字符串来描述。这种公式语法的灵感来源于R和S语言中的公式语法。

Patsy的公式是有特殊格式的字符串,像下面这样: y ~ x0 + x1 这种a + b的语法并不代表将a和b相加,而是代表为模型创建的设计矩阵的术语(terms in the design matrix)。patsy.dmatrices函数,取一个公式字符串和一个数据集(可以使DataFrame或dict),然后为线性模型产生设计矩阵。

https://developer.aliyun.com/article/798127

3. Web开发

3.1 Flask

3.2 Flask-restful

基于Flask快速创建restful API接口。

3. Django

4. 网络,HTTP,爬虫

4.1 urllib, urllib2, urllib3

Python 内置。用来发送HTTP请求,包含了可以添加headers,认证等高级信息。

urllib2给python2用的,python3中urllib2和并到了urllib。

https://zhuanlan.zhihu.com/p/92847111

4.2 requests

Python内置。发送HTTP请求,比urllib更简洁。

python3/python-requests.html" rel="external nofollow noreferrer">https://www.runoob.com/python3/python-requests.html

4.3 lxml

用来处理xml和HTML文件。语法上利用xpath。

4.4 BeautifulSoup

处理HTML文件。

4.5 Selenium

自动化测试,可以用来完全模拟浏览器,不停发送爬虫请求。

4.6 scrapy

爬虫框架。

4.7 Socket

套接字通讯底层库,用于在服务器和客户端间建立TCP或UDP连接,通过连接发送请求与响应。

5. 图形界面

5.1 pythonpyqt.com/" rel="external nofollow noreferrer">PyQt

6. 自然语言处理

6.1 NTLK

英文文本处理。

6.2 jieba

中文分词。

6.3 HanLP

完整中文自然语言处理工具链,分词,词性标注,命名实体识别,依存句法分析等。

7. 图像处理

7.1 OpenCV

https://opencv.org/

7.2 python-pillow.org/" rel="external nofollow noreferrer">Pillow

用来快速处理图像image。

8. 机器学习

8.1 Scikit-learn

scikit-learn项目诞生于2010年,目前已成为Python编程者首选的机器学习工具包。仅仅七年,scikit-learn就拥有了全世界1 500位代码贡献者。其中包含以下子模块:

  • 分类:SVM、最近邻、随机森林、逻辑回归等

  • 回归:Lasso、岭回归等

  • 聚类:k-means、谱聚类等

  • 降维:PCA、特征选择、矩阵分解等

  • 模型选择:网格搜索、交叉验证、指标矩阵

  • 预处理:特征提取、正态化

scikit-learn与pandas、statsmodels、IPython一起使Python成了高效的数据科学编程语言。

8.2 TensorFlow

8.3 Keras

8.4 PyTorch

9. 数据库

9.1 SQLAlchemy

python database ORM framework

9.2 psycopg2

Python-PostgreSQL 连接框架。

10. 知识图谱

11. 交互编程

11.1 python.org/" rel="external nofollow noreferrer">IPython

尽管它本身并不提供任何计算或数据分析工具,它的设计侧重于在交互计算和软件开发两方面将生产力最大化。它使用了一种执行-探索工作流来替代其他语言中典型的编辑-编译-运行工作流。它还提供针对操作系统命令行和文件系统的易用接口。由于数据分析编码工作包含大量的探索、试验、试错和遍历,IPython可以使你更快速地完成工作。

11.2 Jupyter

11.3 Jupyterlab

12. 音频处理

12.1 PyAudioAnalysis

非常好用且强大的音频分析开源工具,能实现音频的特征提取、分类和回归模型的训练和执行,以及其他一些实用的功能。

https://www.cnblogs.com/littlemujiang/p/pyAudioAnalysis-wen-dang.html

12.2 Pydub

pydub 提供了简洁的高层接口,极大的扩展了python处理音频文件的能力,pydub可能不是最强大的Python音频处理库,但绝对是Python最简洁易用的音频库只要,非要说有什么弊端,大概只有高度依赖ffmpeg,Linux安装起来不太方便吧。其功能足以满足大多数情况下的音频处理需求。

https://blog.csdn.net/baidu_29198395/article/details/86694365

12.3 librosa

常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大。

13. 文本处理,文档处理,词云

13.1 openpyxl

处理MS Excel的库。

13.2 python-docx.readthedocs.io/en/latest/" rel="external nofollow noreferrer">python-docx

处理MS Word的库。

13.3 Wordcloud

词云生成器

https://bbs.huaweicloud.com/blogs/382777

14. 打包、平台转换等

14.1 Py2exe

python脚本转换为windows上可以独立运行的可执行程序。

https://blog.csdn.net/bruce_6/article/details/82906444

14.2 Pyinstaller

https://zhuanlan.zhihu.com/p/71081512

标签:

留言评论

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~