對(duì)于數(shù)據(jù)分析的工具,想必大家都或多或少的有一定的了解,常見(jiàn)的像是numpy和pandas更是大家日常使用的數(shù)據(jù)分析工具。但是面對(duì)大數(shù)據(jù)的處理時(shí),像是numpy和pandas的在加載數(shù)據(jù)時(shí),會(huì)看到內(nèi)存用量的飆升,而dask卻可以將這些大的數(shù)據(jù)進(jìn)行并行計(jì)算。
今天小編就帶領(lǐng)大家學(xué)習(xí)一個(gè)并行的計(jì)算庫(kù)——dask。dask可以幫助我們并行化處理pandas的DataFrame和numpy的計(jì)算,甚至是并行化處理機(jī)器學(xué)習(xí)算法。
01.dask庫(kù)的使用介紹
dask庫(kù)可以很好的兼容pandas的DataFrame數(shù)據(jù)和numpy的array數(shù)據(jù),此外,像是Sklearn、XGBoost等機(jī)器學(xué)習(xí)庫(kù),dask也能夠支持。dask的官網(wǎng)(https://dask.org/)對(duì)于支持的庫(kù)有一個(gè)全面的展示。
dask庫(kù)的強(qiáng)大之處在于它擁有豐富的已有庫(kù)的兼容性,而且只需要改動(dòng)很少的程序,就可以在自己的電腦上使用并行計(jì)算。
02.dask的安裝
對(duì)于dask庫(kù)的安裝,也非常的簡(jiǎn)單,大家只需要在anaconda環(huán)境下運(yùn)行conda install dask即可安裝。
03.dask庫(kù)的使用介紹
1).Numpy的array數(shù)據(jù)dask庫(kù)對(duì)于numpy的array數(shù)組操作也非常的簡(jiǎn)潔。dask是將numpy的數(shù)組進(jìn)行切分,切分成許多的block進(jìn)行操作,對(duì)于小數(shù)據(jù)來(lái)說(shuō),可能優(yōu)勢(shì)不明顯,但是當(dāng)數(shù)據(jù)集達(dá)到幾十G后,就能顯示出dask的優(yōu)勢(shì)。
上圖是利用dask進(jìn)行array的操作,可以看到dask對(duì)于numpy數(shù)組的處理與numpy的操作并沒(méi)有很大的區(qū)別,如果對(duì)于numpy數(shù)組操作熟悉的話,那么上手dask的numpy數(shù)組也是非常簡(jiǎn)單的。
2).Pandas的DataFrame數(shù)據(jù)
對(duì)于DataFrame數(shù)據(jù),dask的操作同樣與pandas非常的類似。需要注意的是,當(dāng)求分組的“x“列均值時(shí),dask并沒(méi)有直接輸出結(jié)果,而是在運(yùn)行s的compute()函數(shù)后,才得到結(jié)果,這是與pandas不同的一點(diǎn)。
04.dask的Delayed
對(duì)于dask庫(kù),Delayed模塊是它進(jìn)行并行計(jì)算的核心,delayed 通過(guò)將需要計(jì)算的任務(wù)記錄在計(jì)算圖中,并在之后,將其并行運(yùn)行在硬件上得到結(jié)果。由于不能立即得到結(jié)果,所以該模塊被稱為delayed。對(duì)于delayed模塊的使用。
可以看到,通過(guò)delayed裝飾器來(lái)修飾函數(shù),在下一個(gè)計(jì)算框圖中定義z的計(jì)算,然后通過(guò)visualize函數(shù)來(lái)查看z的計(jì)算圖,如上圖右側(cè)所示。同時(shí)可以看到z的計(jì)算圖只需要不到1ms的時(shí)間即可完成。而z值的計(jì)算,同樣采用z.compute()進(jìn)行計(jì)算即可。
05.對(duì)于機(jī)器學(xué)習(xí)算法的支持
對(duì)于dask機(jī)器學(xué)習(xí)的應(yīng)用,可以安裝Dask-ML,Dask-ML是將Dask與流行的機(jī)器學(xué)習(xí)庫(kù)(例如sklearn,XGBoost等)進(jìn)行結(jié)合,提供的并行化機(jī)器學(xué)習(xí)處理庫(kù)。可以利用pip install dask-ml進(jìn)行安裝。
有興趣的小伙伴可以安裝試一下,用慣了Pandas ,也可以試試換個(gè)口味了!
編輯:jq
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7128瀏覽量
89361 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4344瀏覽量
62862 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8437瀏覽量
132892
原文標(biāo)題:再見(jiàn)Numpy,Pandas!又一個(gè)數(shù)據(jù)分析神器橫空出現(xiàn)!
文章出處:【微信號(hào):TheBigData1024,微信公眾號(hào):人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論