记录工作和学习中遇到和使用过的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
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
标签:
留言评论