對于數據分析的工具,想必大家都或多或少的有一定的了解,常見的像是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文章
7241瀏覽量
90997 -
函數
+關注
關注
3文章
4369瀏覽量
64190 -
機器學習
+關注
關注
66文章
8491瀏覽量
134083
原文標題:再見Numpy,Pandas!又一個數據分析神器橫空出現!
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Mathematica 在數據分析中的應用
數據可視化與數據分析的關系
eda與傳統數據分析的區別
raid 在大數據分析中的應用
emc技術在大數據分析中的角色
數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

評論