Python的这些库,你知道多少?
一、导读
通常,开发大量原始代码是一个费时费力的工作而且有时候有很多专业知识我们不可能都一 一弄懂,为了避免这种情况,我们会尽可能多地使用库中已有的类来创建对象,通常仅需要一行代码。因此,库能够帮助我们使用适量的代码执行重要的任务。我想这也是为什么python能够活跃在我们身边的原因之一吧,欢迎大家点赞收藏,日后学习。
二、前戏
刚才忘了说了,大家在用python的时候我还是推荐大家下一个集成开发环境anaconda
这里面能够更好的管理这些第三方库文件,其好处只有你真正用过才知道老规矩想用的话自己查, 老师说过: “程序员最长走的两条路一是自己去百度;二是找别人帮你百度!!!” 这真的是名言
三、python标准库
有时候你可能想不到python标准库里面有这么多工功能,python标准库提供了丰富的功能,包括文本/二进制数据处理、数学运算、函数式编程、文件/目录访问、数据持久化、数据压缩/归档、加密、操作系统服务、并发编程、进程间通信、网络协议、json / xml /其他internet数据格式、多媒体、国际化、gui、调试、分析等。下面列出了一部分python标准库模块。
- difflib:差异计算工具
- collections:建立在列表、元组、字典和集合基础上的加强版数据结构。
- csv:处理用逗号分隔值的文件。
- datetime, time:日期和时间操作。
- decimal:定点或浮点运算,包括货币计算。
- doctest:通过验证测试或嵌入在docstring中的预期结果进行简单的单元测试。
- json:处理用于web服务和nosql文档数据库的json(javascript object notation)数据。
- math:常见的数学常量和运算。
- os:与操作系统进行交互。
- queue:一种先进先出的数据结构。
- random:伪随机数操作。
- re:用于模式匹配的正则表达式。
- sqlite3:sqlite关系数据库访问。
- statistics:数理统计函数,如均值、中值、众数和方差等。
- sys:—命令行参数处理,如标准输入流、输出流和错误流。
- timeit:性能分析。
- string:通用字符串操作
- textwrap:文本填充
- unicodedata:unicode字符数据库
- stringprep:互联网字符串准备工具
- readline:gnu按行读取接口
- rlcompleter:gnu按行读取的实现函数
python拥有一个庞大且仍在快速增长的开源社区,社区中的开发者来自许多不同的领域。该社区中有大量的开源库是python受欢迎的最重要的原因之一。
许多任务只需要几行python代码就可以完成,这会令人感到很神奇。下面列出了一些流行的数据科学库。
四、科学计算与统计
- numpy(numerical python):python没有内置的数组数据结构。它提供的列表类型虽然使用起来更方便,但是处理速度较慢。numpy提供了高性能的ndarray数据结构来表示列表和矩阵,同时还提供了处理这些数据结构的操作。
- scipy(scientific python):scipy基于numpy开发,增加了用于科学处理的程序,例如积分、微分方程、额外的矩阵处理等。scipy.org负责管理scipy和numpy。
- statsmodels:为统计模型评估、统计测试和统计数据研究提供支持。
- ipython是python科学计算标准工具集的组成部分,它可以把很多东西联系到一起,有点类似一个增强版的python shell。目的是为了提高编程,测试和调试python代码的速度,好像很多国外的大学教授,还有google大牛都很喜欢用ipython,确实很方便。
五、数据处理与分析
pandas:一个非常流行的数据处理库。pandas充分利用了numpy的ndarray类型,它的两个关键数据结构是series(一维)和dataframe(二维)。
modin[14] pandas加速库,接口语法与pandas高度一致
dask[15] pandas加速库,接口语法与pandas高度一致
plydata[16] pandas管道语法库
六、可视化
pyecharts echarts 是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 python 是门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时pyecharts 诞生了
matplotlib:可高度定制的可视化和绘图库。matplotlib可以绘制正规图、散点图、柱状图、等高线图、饼图、矢量场图、网格图、极坐标图、3d图以及添加文字说明等。
seaborn:基于matplotlib构建的更高级别的可视化库。与matplotlib相比,seaborn改进了外观,增加了可视化的方法,并且可以使用更少的代码创建可视化。
七、机器学习、深度学习和强化学习
- scikit-learn:一个*的机器学习库。机器学习是ai的一个子集,深度学习则是机器学习的一个子集,专注于神经网络。
- keras:最易于使用的深度学习库之一。keras运行在tensorflow(谷歌)、cntk(微软的深度学习认知工具包)或theano(蒙特利尔大学)之上。
- tensorflow:由谷歌开发,是使用最广泛的深度学习库。tensorflow与gpu(图形处理单元)或谷歌的定制tpu(tensor处理单元)配合使用可以获得最佳的性能。tensorflow在人工智能和大数据分析中有非常重要的地位,因为人工智能和大数据对数据处理的需求非常巨大。
- openai gym:用于开发、测试和比较强化学习算法的库和开发环境。
- pytorch pytorch是torch的python版本,是由facebook开源的神经网络框架,专门针对 gpu 加速的深度神经网络(dnn)编程。torch 是一个经典的对多维矩阵数据进行操作的张量(tensor )库,在机器学习和其他数学密集型应用有广泛应用。与tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时改变计算图。但由于torch语言采用 lua,导致在国内一直很小众,并逐渐被支持 python 的 tensorflow 抢走用户。作为经典机器学习库 torch 的端口,pytorch 为 python 语言使用者提供了舒适的写代码选择。
八、自然语言处理
nltk(natural language toolkit):用于完成自然语言处理(nlp)任务。
textblob:一个面向对象的nlp文本处理库,基于nltk和模式nlp库构建,简化了许多nlp任务。
gensim:功能与nltk类似。通常用于为文档合集构建索引,然后确定另一个文档与索引中每个文档的相似程度。
到此这篇关于python的这些库,你知道多少?的文章就介绍到这了,更多相关python库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!