对于数据分析的工具,想必大家都或多或少的有一定的了解,常见的像是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
-
数据
+关注
关注
8文章
6842浏览量
88758 -
函数
+关注
关注
3文章
4290浏览量
62346 -
机器学习
+关注
关注
66文章
8357浏览量
132336
原文标题:再见Numpy,Pandas!又一个数据分析神器横空出现!
文章出处:【微信号:TheBigData1024,微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论