一些常用的工具和包
Jupyter提供了一个基于web的环境(在网页上打开),可以一段一段地运行代码,也可以在同一个页面编写说明文档,编程时具有语法高亮 、 缩进 、 tab补全 的功能,可直接通过浏览器运行代码,同时在代码块下方展示运行结果,以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等,对代码编写说明文档或语句时,支持Markdown语法,支持使用LaTeX编写数学性说明,Anaconda完整版已经默认安装。
用于表格数据结构、数据分析和数据建模工具的库,包括使用Matplotlib的内置绘图。
数据操作和索引,数据集的重塑和枢轴,基于标签的切片和对齐,数据集的高性能合并和连接,时间序列数据分析。
Pandas包含了读写各种数据的有效方法,包括CSV文件、Excel表和SQL查询。
SciPy库由一组特定的Python基础科学和数值工具组成,数据科学家使用这些工具来构建他们自己的工具和程序。数值积分,插值,线性代数和统计。
使用Python进行科学计算的核心包。Numpy支持数组形成和对数组的基本操作。Numpy用于索引和排序,但也可以用于线性代数和其他操作。当涉及到代数模块和数值算法时,SciPy的功能更加完善。Python的许多其他数据科学库都是在NumPy的基础上内部构建的,包括Pandas和SciPy。
TensorFlow是一个来自谷歌的开源深度学习平台,包括一个工具和库的生态系统,支持AI和深度学习应用的构建和部署。Keras是一个用于构建和训练深度学习模型的高级API,最初作为一个单独的库,但现在包含在TensorFlow中。
TensorFlow和Keras一起被用于高效地构建、训练和部署深度学习模型,如卷积神经网络(CNNs)和生成对抗网络(GANs)。如果下载最新版本的TensorFlow,则包含Keras。
一个开源的深度学习框架,由Python AI和机器学习开发的基本工具和库组成。
构建和训练深度学习模型,如cnn和GANs。丰富的库生态系统扩展了PyTorch的自然语言处理和计算机视觉功能。
一个功能强大和通用的机器学习库,用于机器学习的基础知识,如分类、回归和聚类。它包括有监督和无监督ML算法,具有交叉验证和特征提取等重要功能。
Matplotlib是最完善的Python数据可视化工具,主要关注二维图(折线图、柱状图、散点图、直方图等)。它适用于许多GUI界面和文件格式,但在web浏览器中对交互的支持相对有限。
流行且功能强大的基于浏览器的可视化库,允许您从Python创建交互式的、基于javascript的图形。
Python框架,用于为web构建定制的可视化丰富的应用程序和仪表板.
使用Python创建自定义应用程序,带有实时图、小部件和其他控件,以在web上共享正在运行的应用程序,支持Python的强大功能。每个工具包都有自己的重点和优势:Panel(简单的Python代码,很容易从Jupyter过渡到独立服务器),Voila(直接服务Jupyter笔记本),Streamlit(来自Python脚本的应用程序),Dash(直接控制HTML/CSS样式,无状态部署)。
HoloViz是Anaconda的一个项目,通过添加高性能的服务器端渲染(Datashader)、用交互式的基于Bokeh的图(hvPlot)替换静态可视化的简单插件以及用于构建大型复杂系统的声明性高级接口(HoloViews和Param)来简化和改进基于python的可视化。
Pillow(旧PIL库的一个“友好的分支”)是一个Python映像库,也是一个通用的图像处理工具,支持以多种不同的文件格式打开、操作和保存图像。
用于图像训练和基本图像处理的数据准备。
Scikit-Image是一个开源的Python包,包含一组图像处理算法,包括分割、几何变换、颜色空间操作和特征检测。它使用NumPy数组作为图像对象。
一个具有c++, Java, Python和MATLAB接口的实时计算机视觉编程函数的开源库。
OpenCV是最常用的机器人库。它也被用于人脸跟踪和检测以及图像处理和识别。
OpenCV已被用于构建入侵检测和监控工具,并帮助机器人导航和识别对象。
可伸缩计算,包括分布式和并行计算,可以加速分析、模型训练和性能。它使多个任务和计算能够在计算机或处理器之间同时执行。这些包可以用作许多Python数据科学和机器学习任务的助推器。
Numba是一个高性能的Python编译器。加速Python函数和gpu和cpu的并行算法
Dask是一个Python包,用于通过并行处理扩展NumPy工作流,以支持多维数据分析,使用户能够存储和处理比计算机RAM大的数据。Dask可以向外扩展到集群,或向下扩展到一台计算机。
Dask模仿了pandas和NumPy API,使得它对Python数据科学家来说比Apache Spark更直观。
RAPIDS基本上是一个在gpu上运行Pandas、Scikit-Learn和NetworkX(图形分析库)的工具。它还集成了一些深度学习库
一个由加州大学伯克利分校推出的用于编程集群的容错集群计算框架和接口。为Java/Hadoop生态系统开发,但支持Python。PySpark是用于Spark的Python API。
Spark是一个多用途的工具,可以用于数据准备和处理,以及训练ML算法。Spark非常适合实时管理数据流和通过交互查询进行交互分析。
数据准备是做数据分析、数据科学和机器学习的先决条件,也是整个过程中最严格、最耗时的部分。大多数数据科学工作流最初使用自定义Pandas和其他数据操作代码,但是这些数据准备/ ETL(提取、转换和加载)工具有助于使过程自动化,从而使公司和大型组织在生产中更有效地进行数据准备。
一个由Apache开发的开源工作流自动化工具,用于创建数据工作流、调度任务和监视结果。它集成了多个云提供商,包括AWS、Azure和谷歌cloud。
用于各种文件格式和数据服务的数据摄取/加载库,具有分层编目、搜索和在单一接口下与远程存储平台的交互。
它使Python更快,并优化了Numpy数组的性能,达到了没有编译器的FORTRAN和C的速度。