1 Python标准库
有时你可能没有想到 Python 标准库中有这么多函数。 Python标准库提供了丰富的功能,包括文本/二进制数据处理、数学运算、函数式编程、文件/目录访问、数据持久化、数据压缩/归档、加密、操作系统服务、并发编程、进程间通信、 网络协议、JSON/XML/其他互联网数据格式、多媒体、国际化、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按行读取的实现函数
2 数据处理与分析
pandas:一个非常流行的数据处理库。pandas充分利用了NumPy的ndarray类型,它的两个关键数据结构是Series(一维)和DataFrame(二维)。
modin pandas加速库,接口语法与pandas高度一致
dask pandas加速库,接口语法与pandas高度一致
plydata pandas管道语法库
3科学计算与统计
NumPy(Numerical Python):Python 没有内置的数组数据结构。 虽然它提供的列表类型使用起来更方便,但处理速度较慢。 NumPy 提供了高性能的 ndarray 数据结构来表示列表和矩阵,也提供了处理这些数据结构的操作。
SciPy(Scientific Python):SciPy 是基于 NumPy 开发的,并添加了用于科学处理的程序,例如积分、微分方程和附加矩阵处理。 scipy.org 管理 SciPy 和 NumPy。
StatsModels:为统计模型评估、统计检验和统计数据研究提供支持。
IPython 是 Python 科学计算标准工具集的一个组成部分。 它可以将很多东西连接在一起,有点类似于 Python shell 的增强版本。 目的是提高编程、测试和调试 Python 代码的速度。 好像很多国外大学教授和谷歌专家都喜欢用IPython,真的很方便。
4 可视化
Pyecharts Echarts 是百度开源的数据可视化。 凭借良好的交互性和精美的图表设计,得到了众多开发者的认可。 而且Python是一种表达性语言,非常适合数据处理。 当数据分析遇上数据可视化,pyecharts应运而生
Matplotlib:高度可定制的可视化和绘图库。 Matplotlib 可以绘制规则图、散点图、直方图、等高线图、饼图、矢量场图、网格图、极坐标图、3D 图,并添加文字说明。
Seaborn:建立在 Matplotlib 上的更高级别的可视化库。 与 Matplotlib 相比,Seaborn 改进了外观,增加了可视化方法,可以用更少的代码创建可视化。
5 机器学习、深度学习和强化学习
scikit-learn:顶级机器学习库。 机器学习是人工智能的一个子集,深度学习是机器学习的一个子集,侧重于神经网络。
Keras:最容易使用的深度学习库之一。 Keras 在 TensorFlow(谷歌)、CNTK(微软的深度学习认知工具包)或 Theano(蒙特利尔大学)上运行。
TensorFlow:由谷歌开发,是使用最广泛的深度学习库。 TensorFlow 可以与 GPU(图形处理单元)或 Google 定制的 TPU(张量处理单元)配合使用,以获得最佳性能。 TensorFlow 在人工智能和大数据分析中有着非常重要的地位,因为人工智能和大数据对数据处理有着巨大的需求。
OpenAI Gym:用于开发、测试和比较强化学习算法的库和开发环境。
pytorch Pytorch 是 Torch 的 Python 版本。 它是 Facebook 开源的一个神经网络框架,专门用于 GPU 加速的深度神经网络 (DNN) 编程。 Torch 是一个经典的张量库,可以对多维矩阵数据进行操作。 它广泛用于机器学习和其他数学密集型应用程序。
与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可以根据计算需要实时更改计算图。 但由于 Torch 语言采用 Lua,在国内一直非常小,逐渐被支持 Python 的 Tensorflow 从用户手中抢走。 作为经典机器学习库 Torch 的移植,PyTorch 为 Python 语言用户编写代码提供了一个舒适的选择。
6自然语言处理
NLTK(Natural Language Toolkit):用于完成自然语言处理(NLP)任务。
TextBlob:一个面向对象的NLP文本处理库,基于NLTK和模式NLP库构建,简化了许多NLP任务。
Gensim:功能与NLTK类似。通常用于为文档合集构建索引,然后确定另一个文档与索引中每个文档的相似程度。