常用Python库整理
记录工作和学习中遇到和使用过的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
创建进度条。
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 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更简洁。
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 PyQt
6. 自然语言处理
6.1 NTLK
英文文本处理。
6.2 jieba
中文分词。
6.3 HanLP
完整中文自然语言处理工具链,分词,词性标注,命名实体识别,依存句法分析等。
7. 图像处理
7.1 OpenCV
7.2 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 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
处理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
常用Python库整理的更多相关文章
- Vue-ui常用组件库整理
Vue-ui常用组件库整理 查看全部整理内容==> element-ui Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库. 这款是我用了很久的, ...
- 这几天加班熬夜把所有Python库整理了一遍,非常全面!
库名称简介 Chardet 字符编码探测器,可以自动检测文本.网页.xml的编码.colorama 主要用来给文本添加各种颜色,并且非常简单易用.Prettytable 主要用于在终端或浏览器端构建格 ...
- Python库整理
库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...
- Python 库整理【收藏】
库名称简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器端构建格式 ...
- 运维常用python库&模块
sutil:是一个跨平台库(https://github.com/giampaolo/psutil)能够实现获取系统运行的进程和系统利用率(内存,CPU,磁盘,网络等),主要用于系统监控,分析和系统资 ...
- CTF常用python库PwnTools的使用学习
之前主要是使用zio库,对pwntools的了解仅限于DynELF,以为zio就可以取代pwntools.后来发现pwntools有很多的高级用法都不曾听说过,这次学习一下用法,希望可以在以后的exp ...
- go语言常用开源库整理
框架 https://github.com/go-martini/martini 图形验证码 https://github.com/dchest/captcha ORM https://github. ...
- python 常用库整理
python 常用库整理 GUI 图形界面 Tkinter: Tkinter wxPython:wxPython pyGTK:PyGTK pyQt:pyQt WEB框架 django:django w ...
- Python常用库整理
Python常用库整理 Python中到底有哪些库会让程序员爱不释手?以至于一次上瘾,造成永久性伤害(这句话好像在哪里见过),今天我们就来整理一番这样的库,欢迎各位在评论区或者私信我添加或者修改相关库 ...
随机推荐
- axios的content-type是自动设置的
一. axios参数的传递方式 首先我们要知道 参数传递一般有两种,一种是 使用 params, 另一种是 data的方式,有很多的时候我们看到的前端代码是这样的. 1. get请求: ...
- 如何从零开始参与 Apache 顶级开源项目?| 墙裂推荐
写在开头 从 2021 开始,有一个很有意思的说法经常在各大技术媒体或开源论坛中出现,「开源正在吞噬一切」.不论是否言过其实,从一个行业从业者的切身感知来看,开源确实从少数极客的小众文化成为主流的 ...
- 开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS、银河麒麟上运行!
GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据 ...
- Bootstrap Blazor 开源UI库介绍-Table 虚拟滚动行
今天我们来介绍一下 Bootstrap Blazor 中 Table 组件的虚拟滚动行,什么是虚拟滚动呢,我查到的解释是:只渲染可视区域的列表项,非可见区域的 完全不渲染,在滚动条滚动时动态更新列表项 ...
- Andrej Karpathy | 详解神经网络和反向传播(基于 micrograd)
只要你懂 Python,大概记得高中学过的求导知识,看完这个视频你还不理解反向传播和神经网络核心要点的话,那我就吃鞋:D Andrej Karpathy,前特斯拉 AI 高级总监.曾设计并担任斯坦福深 ...
- 新渲染引擎、自定义设计和高质量用户体验的样例应用 Wonderous 现已开源
探索世界奇观,并体验 Flutter 的强大之处. Flutter 的愿景是让你能够在空白画布上绘制出不受限制的精美应用.最近,通过与 gskinner 团队的通力合作,我们打造了一个全新的移动应用 ...
- Kubernetes 监控:Prometheus Operator
安装 前面的章节中我们学习了用自定义的方式来对 Kubernetes 集群进行监控,基本上也能够完成监控报警的需求了.但实际上对上 Kubernetes 来说,还有更简单方式来监控报警,那就是 Pro ...
- 俄罗斯的 HTTPS 证书问题
文章转载自:https://mp.weixin.qq.com/s/8EikwCvZgKt2TFsld-nKSA
- Mysql 数据库SQL脚本导入
1.进入mysql命令行窗口 mysql -uroot -p123456 2.展示所有数据库 show databases: 3.选择数据库 use 数据库名 4.展示选择的数据库中所有表 show ...
- Java基础之变量
Java基础之变量 目录 Java基础之变量 1.变量概述 1.1 为什么需要变量 1.2 简单理解 1.3 变量使用注意事项 1.4 程序中+号的使用 1.5 Java数据类型 1.6 整数类型 1 ...