热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

常用Python库整理

记录工作和学习中遇到和使用过的Python库。Target四个Level整理Collect学习Learn练习Practice掌握Master1.Python原生和功能增强1.1py
记录工作和学习中遇到和使用过的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

https://opencv.org/


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库整理的相关教程结束。



推荐阅读
  • 系数|量纲_机器学习基础一文带你用sklearn做特征工程
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了机器学习基础一文带你用sklearn做特征工程相关的知识,希望对你有一定的参考价值。使用sklearn做特 ... [详细]
  • x86x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 编者按:来自自江民科技的消息称,该公司创始人王江民近日因病去世,享年59岁,为了纪念这位中国反病毒事业的知名专家与老前辈,现摘录来自刘韧在知识英雄系列中采访其的一篇文章 王江民,著名的反病毒专家 ... [详细]
  • 实战分析SpringBoot整合JSON,面试题附答案
    前言作为同时具备高性能、高可靠和高可扩 ... [详细]
  • python-去除字符串中特定字符一、去掉字符串两端字符:strip(,rstrip(,lstrip(s.strip(#删除两边(头尾空字符,默认是空字符s. ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 如何使用代理服务器进行网页抓取?
    本文介绍了如何使用代理服务器进行网页抓取,并探讨了数据驱动对竞争优势的重要性。通过网页抓取,企业可以快速获取并分析大量与需求相关的数据,从而制定营销战略。同时,网页抓取还可以帮助电子商务公司在竞争对手的网站上下载数百页的有用数据,提高销售增长和毛利率。 ... [详细]
author-avatar
墙脚等红线_987
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有