又一个数据分析神器并行的计算库——dask横空出现!

描述

对于数据分析的工具,想必大家都或多或少的有一定的了解,常见的像是numpy和pandas更是大家日常使用的数据分析工具。但是面对大数据的处理时,像是numpy和pandas的在加载数据时,会看到内存用量的飙升,而dask却可以将这些大的数据进行并行计算。

今天小编就带领大家学习一个并行的计算库——dask。dask可以帮助我们并行化处理pandas的DataFrame和numpy的计算,甚至是并行化处理机器学习算法。

01.dask库的使用介绍

dask库可以很好的兼容pandas的DataFrame数据和numpy的array数据,此外,像是Sklearn、XGBoost等机器学习库,dask也能够支持。dask的官网(https://dask.org/)对于支持的库有一个全面的展示。

dask库的强大之处在于它拥有丰富的已有库的兼容性,而且只需要改动很少的程序,就可以在自己的电脑上使用并行计算。

02.dask的安装

对于dask库的安装,也非常的简单,大家只需要在anaconda环境下运行conda install dask即可安装。

03.dask库的使用介绍

1).Numpy的array数据dask库对于numpy的array数组操作也非常的简洁。dask是将numpy的数组进行切分,切分成许多的block进行操作,对于小数据来说,可能优势不明显,但是当数据集达到几十G后,就能显示出dask的优势。

上图是利用dask进行array的操作,可以看到dask对于numpy数组的处理与numpy的操作并没有很大的区别,如果对于numpy数组操作熟悉的话,那么上手dask的numpy数组也是非常简单的。

2).Pandas的DataFrame数据

对于DataFrame数据,dask的操作同样与pandas非常的类似。需要注意的是,当求分组的“x“列均值时,dask并没有直接输出结果,而是在运行s的compute()函后,才得到结果,这是与pandas不同的一点。

04.dask的Delayed

对于dask库,Delayed模块是它进行并行计算的核心,delayed 通过将需要计算的任务记录在计算图中,并在之后,将其并行运行在硬件上得到结果。由于不能立即得到结果,所以该模块被称为delayed。对于delayed模块的使用。

可以看到,通过delayed装饰器来修饰函数,在下一个计算框图中定义z的计算,然后通过visualize函数来查看z的计算图,如上图右侧所示。同时可以看到z的计算图只需要不到1ms的时间即可完成。而z值的计算,同样采用z.compute()进行计算即可。

05.对于机器学习算法的支持

对于dask机器学习的应用,可以安装Dask-ML,Dask-ML是将Dask与流行的机器学习库(例如sklearn,XGBoost等)进行结合,提供的并行化机器学习处理库。可以利用pip install dask-ml进行安装。

有兴趣的小伙伴可以安装试一下,用惯了Pandas ,也可以试试换个口味了!

编辑:jq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分