用于数据科学的六种必备Python工具( 二 )


同时,Cython还支持与IPython和Jupyter notebooks的集成 。由Cython编译的代码,可以通过内联注释的方式,在Jupyter notebooks中被使用,就像使用Python代码一样 。
此外,您还可以在启用了配置文件引导优化(profile-guided optimization)的情况下,为Jupyter编译Cython模块 。使用该方式构建的模块,可以根据其生成的分析信息,进行各种快速的编译和优化 。值得注意的是,该方式仅能够在与GCC编译器共同使用时,被Cython所使用 。而微软的VC环境尚对此并不支持 。
从哪里下载Cython
我们既可以从GitHub的链接处获得源代码,又可以在Python Package Index的链接处下载Cython,然后在命令行中输入“pip install cython”以完成安装 。其二进制文件可以支持包括32位和64位的Windows、通用的Linux、以及MacOS 。值得注意的是,您的系统平台上必须已安装了C预言编译器,方可使用Cython 。
4.Dask 2021.07.0近年来,我们的硬件处理能力虽然比以往任何时候都强大,可关键问题是,我们将如何通过横跨多个CPU内核、物理处理器、以及计算节点的方式,以最高效率完成数据科学的相关计算任务 。
对此,Dask工具能够接受一项Python作业,并在多个系统之间有效地予以调度 。由于那些被用于启动Dask作业的语法、与在Python中用于执行其他各项操作的语法几乎相同,因此我们在使用Dask时,几乎无需对现有的代码进行任何修改 。
Dask如何协助数据科学
Dask能够为Python中许多流行的机器学习、以及科学计算库,提供了各种自有版本的接口 。例如,它的DataFrame对象能够与Pandas库中的相同,它的Array对象则可以与NumPy的相一致 。可见,您只需针对Dask修改几行代码,即可来快速兼容现有的代码 。
同时,Dask不但允许并行地写入纯Python的作业,而且其Bag等对象类型,也能够优化诸如:map、filter、以及groupby等通用Python对象集合的操作 。
从哪里下载Dask
我们既可以从GitHub的链接处获得源代码,又可以在Python Package Index的链接处下载Cython,然后在命令行中输入“pip install dask”以完成安装 。此外,作为Anaconda Python发行版的一部分,用户还可以在其命令行中输入“conda install dask”,以完成安装 。
5.Vaex 4.30根据NumPy或Pandas的数据帧格式,Vaex允许用户对大型表格的数据集(例如有数十亿行的数据量),通过执行lazy操作,以零数据复制、最少的内存使用量、以及内置的可视化工具等方式,高效地完成各项操作 。
Vaex如何协助数据科学
在Python中,处理大型数据集,特别是只涉及数据的某个子集(例如,表中的一列)时,通常会耗费大量的内存、以及处理能力 。而Vaex则能够根据实际需要,以按需的方式执行计算,从而充分地利用好有限的可用计算资源 。
从哪里下载Vaex
我们可以在Python Package Index的链接处下载Cython,然后在命令行中输入“pip install vaex”以完成安装 。值得注意的是,为了获得最佳的效果,您既可以在虚拟环境中安装Vaex,又可以直接使用Python的Anaconda发行版 。
6.Intel SDC作为高性能分析工具包,Intel的可扩展数据帧编译器(Scalable Dataframe Compiler,SDC)是一个针对数据分析、以及加速集群机器学习的实验项目 。它使用Open MPI项目中的mpirun的实用程序,将Python的子集编译为代码 。这些代码可以在集群之间自动实现并行化 。
Intel SDC如何协助数据科学
作为一个使用Python编写的、基于编译器的大数据框架, HPAT用到了前面提到的Numba 。不过与Cython不同的是,它并不会按照原样去编译Python 。相反,它用到了Python语言的受限子集:NumPy数组和Pandas数据帧,并通过对其优化,以实现横跨多个节点的运行 。
与Numba类似,HPAT自带有@jit装饰器(decorator),可以将特定功能转化到优化的代码中 。此外,它还包含了一个可用于读取和写入HDF5(并非HDFS)文件的本地 I/O模块 。
从哪里下载Intel SDC
我们可以从GitHub的链接处获得源代码 。不过SDC并未提供对应的二进制文件 。




推荐阅读