再見Numpy,Pandas!又一個數據分析神器橫空出現!

2021-03-02 Python愛好者社區

轉自:菜鳥學Python

對於數據分析的工具,想必大家都或多或少的有一定的了解,常見的像是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庫的使用介紹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 ,也可以試試換個口味了!歡迎在留言區點評,來個三連哦!

重磅!Python交流已成立

為了給小夥伴們提供一個互相交流的技術平臺,特地開通了Python交流群。群裡有不少技術大神,不時會分享一些技術要點,更有一些資源收藏愛好者不時分享一些優質的學習資料。(免費,不賣課!)

需要進群的朋友,可長按掃描下方二維碼。


▲長按掃碼

相關焦點

  • 推薦6個Python數據分析神器!!
    一、Pandas ProfilingPandas Profiling提供數據的一個整體報告,是一個幫助我們理解數據的過程。它可以簡單快速地對Pandas的數據框數據進行探索性數據分析。其實,Pandas中df.describe()和df.info()函數也可以實現數據探索過程第一步。
  • Python學習120課 pandas簡介kaggle下載數據及pandas讀取外部數據
    numpy的基本的東西我們學習差不多了,後面具體應用中遇到問題具體分析,然後去深入了解遇到的新的知識點就行。現在我們開始學習pandas,pandas一般用的更多,pandas是基於numpy去寫的。pandas是一個專門做數據結構和數據分析的庫。
  • 數據系列教程之numpy( 三)
    數據分析系列教程之numpy( 一)數據分析系列教程之numpy(二)上周講了數據分析入門的前兩節,numpy
  • 推薦 6 個 Python 數據分析神器!!
    一、Pandas ProfilingPandas Profiling提供數據的一個整體報告,是一個幫助我們理解數據的過程。它可以簡單快速地對Pandas的數據框數據進行探索性數據分析。其實,Pandas中df.describe()和df.info()函數也可以實現數據探索過程第一步。
  • 未明學院:7張思維導圖掌握數據分析關鍵庫pandas
    原創: 未明學院Pandas是一個強大的分析結構化數據的工具集;它基於numpy,用於數據分析和數據挖掘,同時也提供數據清洗功能。pandas與numpy一起構成了數據分析的基礎雙生庫。pandas概述02在使用pandas做數據分析的時候往往第一步就是將數據導入進來,比如csv或者excel格式的數據,下面這張圖就是我們讀取數據時候的方法和參數。
  • 從零開始學Python數據分析【4】-- numpy
    作者:劉順祥個人微信公眾號:每天進步一點點2015前文傳送門:從零開始學Python數據分析
  • 當pandas遇上數據類型問題
    譯者: 大鄧當我們做數據分析時,確保自己使用的是正確的數據類型,這一點很重要。而在pandas中,一般情況下會根據我們導入的數據,自動分配最合適的數據類型。但是有時候pandas也會犯錯,這時候我們就需要diy自定義數據類型。本文主要將pandas的dtype,如何進行數據類型的操作。pands數據類型數據類型是程式語言的基礎性概念,ta會告訴電腦如何存儲數據、如何操作數據。
  • Pandas和Numpy的視圖和拷貝
    編譯:老齊與本文相關的圖書推薦:《跟老齊學Python:數據分析》至於Pandas和Numpy的安裝方法,請參閱《跟老齊學Python:數據分析》一書,書中有詳細的說明。異常的示例首先,來看一看剛才說的Pandas中有可能爆出的SettingWithCopyWarning異常。
  • 101道Numpy、Pandas練習題
    無論是數據分析還是機器學習,
  • python數據分析萬字乾貨!一個數據集全方位解讀pandas
    說到python與數據分析,那肯定少不了pandas的身影,本文希望通過分析經典的NBA數據集來系統的全方位講解pandas包,建議搭配IDE一遍敲一邊讀哦。話不多說,開始吧!>對列進行操作指定數據類型數據清洗數據可視化pandas的安裝建議直接安裝anaconda,會預置安裝好所有數據分析相關的包,當然也可以使用pip安裝。
  • 【數據分析】Numpy
    Numpy是高性能科學計算和數據分析的基礎包。它也是pandas等其他數據分析的工具的基礎,基本所有數據分析的包都用過它。這是官方認證的導入方式,可能會有人說為什麼不用from numpy import *,是因為在numpy當中有一些方法與Python中自帶的一些方法,例如max、min等衝突,為了避免這些麻煩大家就約定俗成的都使用這種方法。
  • python數據分析專題 (7):python數據分析模塊
    也就是這些python的擴展包讓python可以做數據分析,主要包括numpy,scipy,pandas,matplotlib,scikit-learn等等諸多強大的模塊,在結合上ipython交互工具 ,以及python強大的爬蟲數據獲取能力,字符串處理能力,讓python成為完整的數據分析工具。
  • 數據科學 | pandas數據導入與導出
    當我們開始著手做一個數據分析項目時,選擇和導入數據集是第一個步驟,而導出數據雖然非必需,但有時候我們也需要保存處理或者分析後的結果,方便下次使用。在pandas中,它已經為我們提供了很多不同格式數據的導入和導出方法,下面這篇文章將具體介紹一些較為常用的方法,包括excel、csv文件以及資料庫的導入導出等。數據導入和導出是pandas中很基礎且重要的一個部分。
  • Python數據分析之pandas基本數據結構
    list0 1231 3212 3453 543dtype: int64>>> pd.Series((123, 321, 345,543)) # 傳入一個元組0 1231 3212 3453 543dtype: int64(2)通過傳入一維numpy數組對象創建>>> import numpy as np
  • Python數據分析利器,Pandas入門介紹,幫你便捷高效處理複雜數據
    關於Python的數據分析,當我們遇到的數據量小、數據結構簡單時,可以通過字典、列表等Python常見的數據結構來處理。但是當我們面對的大量數據以及複雜數據的局面時,就需要用一些專門用於數據分析的擴展庫來處理數據了。今天給大家介紹一個Python裡專門用來做數據分析和處理的擴展庫。
  • python-pandas讀寫csv數據
    可以是單個名稱/數字或由多個名稱/數字組成的列表(層次化索引)error_bad_lines = False # 當某行數據有問題時,不報錯,直接跳過,處理髒數據時使用 na_values = 'NULL' # 將NULL識別為空值encoding='utf-8' #指明讀取文件的編碼,默認utf-8說明:① 讀取csv/txt/tsv文件,返回一個DataFrame類型的對象。
  • Python數據分析之numpy學習(一)
    在學完《廖雪峰Python2.7教程》感覺受益匪淺,掌握了基本的語法之後開始接觸用Python進行數據分析。這裡向大家推薦兩本書《Python數據分析》和《利用Python進行數據分析》,而這兩本書也是目前我正在學習的材料,雖然這兩本書都是基於Python2.x,但對於Python3.x也能正常運行。
  • 使用Pandas數據處理與分析
    前言:這是關於個人關於對pandas可以進行的數據處理和數據分析的見解的初版,其中肯定不乏一些錯誤之處,希望大家能多多指正。首先導入本文所需要的庫:import numpy as npimport pandas as pdimport matplotlib.pyplot as plt這裡主要利用pandas從六個方面來對數據進行操作
  • pandas數據可視化原來也這麼厲害
    作者:小伍哥 來源:AI入門學習(公眾號)在python中,常見的數據可視化庫有3個:matplotlib:最常用的庫,可以算作可視化的必備技能庫,比較底層,api多,學起來不太容易。比如這個圖,就非常厲害:畫圖神器pyecharts-旭日圖Pandas:而今天要講的是Pandas的可視化,Pandas主要作為數據分析的庫,雖然沒有上述三個庫那個強大,但是勝在方便,在數據分析的過程中,只要一行代碼就能實現。並且圖形也非常漂亮。
  • 【數據分析】Pandas
    其他常用方法                ✦ ✦ ✦ ✦ ✦ ✦1、簡介pandas是一個強大的Python數據分析的工具包,它是基於Numpy構建的,正因pandas的出現5、數據分組和聚合在數據分析當中,我們有時需要將數據拆分,然後在每一個特定的組裡進行運算,這些操作通常也是數據分析工作中的重要環節。