數(shù)據(jù)科學中必須了解的Python核心庫
python有三個核心數(shù)據(jù)科學庫,在此基礎(chǔ)上還創(chuàng)建了許多其他的庫。這三個核心數(shù)據(jù)科學庫分別為:
Numpy
Scipy
Matplotlib
簡單起見,可以把Numpy視為首選數(shù)組。Numpy數(shù)組在許多方面都與標準Python列表不同,但有幾點需要記住,那就是Numpy數(shù)組比標準Python列表運算速度更快、所占空間更少、功能更多。但同時也需注意,這些數(shù)組的大小和類型是固定的,可以在創(chuàng)建數(shù)組時進行定義。同時,它不像列表那樣可以無限添加新值。
Scipy在Numpy的基礎(chǔ)上,提供了許多優(yōu)化、統(tǒng)計和線性代數(shù)處理等功能。雖然Numpy也有類似的功能,但個人更喜歡Scipy的功能。想要計算相關(guān)系數(shù)或創(chuàng)建一些正態(tài)分布數(shù)據(jù)嗎?Scipy簡直就是為你量身定制的。
和其他數(shù)據(jù)科學庫相比,Matplotlib可能略遜一籌,但它是Python中繪圖的核心庫。功能強大,可以在需要時進行有效控制。
第二代庫
核心庫非常棒,也很常用。不過,還有三個基于核心庫的第二代庫,它們提供的功能更多,使用的代碼更少。
如果你一直在學習數(shù)據(jù)科學卻沒聽說過Scikit-learn,那我也無話可說。Scikit-learn是Python中的機器學習庫。它擁有強大的社區(qū)支持、歸檔功能和一個統(tǒng)一且容易使用的API。該庫專注于“核心”機器學習,包括結(jié)構(gòu)化數(shù)據(jù)的回歸、分類和聚類。但它并不能用于深度學習或貝葉斯機器學習等方面。
Pandas的創(chuàng)建是為了簡化Python中的數(shù)據(jù)分析。Pandas讓加載結(jié)構(gòu)化數(shù)據(jù)、計算統(tǒng)計數(shù)據(jù)、切割數(shù)據(jù)變得非常容易。在數(shù)據(jù)挖掘和分析階段,它是一個不可或缺的工具。但個人不建議在數(shù)據(jù)生成階段使用Pandas,因為它通常無法很好地擴展到大型數(shù)據(jù)集。不過可以將Pandas代碼轉(zhuǎn)換為原始的Numpy數(shù)組,這可以顯著提高數(shù)據(jù)生產(chǎn)的速度。
盡管Matplotlib不是可視化最好看的,但是Seaborn可以很容易創(chuàng)建出漂亮的可視化數(shù)據(jù)。Seaborn是基于Matplotlib創(chuàng)建的,因此仍然可以使用Matplotlib功能增加或編輯Seaborn圖表。它還使復雜圖表類型的創(chuàng)建變得更加容易??纯聪旅娴膱D片,可以找到一些靈感:
深度學習
隨著深度學習的迅速發(fā)展,不說一說該領(lǐng)域中較好的Python包是不明智的。
本人是Pytorch的鐵桿粉絲。如果想在學習數(shù)據(jù)科學庫的同時開始深度學習,從而讓很先進的深度學習算法變得相對容易,那么Pytorch是不二之選。Pytorch正逐漸成為研究和實現(xiàn)大量功能的標準深度學習庫,使其在數(shù)據(jù)生成用例中愈加完善。這些實例也提供了許多很好的入門教程。
個人看來,Keras是第一個真正讓深度學習變得觸手可及的數(shù)據(jù)科學庫。你可以用10行非常容易閱讀和理解的代碼來創(chuàng)建并訓練一個深度學習模型。但它的缺點是,高層次的抽象很難實現(xiàn)Keras當前不支持的新研究(盡管他們正在該領(lǐng)域上不斷改進)。它同時還支持多個后端,即Tensorflow和CNTK。
Tensorflow是由谷歌創(chuàng)建的,為深度學習的生產(chǎn)提供了很強大的支持。個人看來,最初版本的Tensorflow相當笨拙,但是他們學到了很多東西,Tensorflow2.0讓深度學習的門檻變得越來越低。當Pytorch為深度學習提供更多的生產(chǎn)支持時,Tensorflow則大大提高了深度學習的可用性。
統(tǒng)計
我想以Python中的兩大統(tǒng)計模型庫結(jié)束全文。
如果你用過R,你可能會困惑為什么Scikit-learn沒有在計算回歸系數(shù)時給出p值。如果是這樣,你需要看一下statsmodels。個人看來,statsmodels對統(tǒng)計模型和測試提供了很好的支持,甚至還支持很多R語法。
概率編程和建模非常有趣。如果你不熟悉這個領(lǐng)域,可以查看黑客的貝葉斯方法,也可以使用PyMC3。PyMC3讓定義的概率模型變得非常直觀,并給許多先進的模型提供許多支持。
飛起來
在我之前,無人相信Python中還有許多令人驚艷的數(shù)據(jù)科學庫。而本文的目的就是關(guān)注最基礎(chǔ)的數(shù)據(jù)科學庫。有了Python和這些出色的數(shù)據(jù)科學庫,你會對自己可以取得的成就驚嘆不已。我希望本文能夠成為你涉足數(shù)據(jù)科學的一個很好
以上內(nèi)容為大家介紹了數(shù)據(jù)科學中必須了解的Python核心庫,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。http://www.mobiletrain.org/

猜你喜歡LIKE
相關(guān)推薦HOT
更多>>
python中的filter函數(shù)功能是什么?
python中的filter函數(shù)功能是什么?在python中,面對眾多的數(shù)據(jù),我們要過濾篩選出我們需要的數(shù)據(jù)。python中的filter函數(shù)就是起到了過濾篩選的作...詳情>>
2023-11-10 20:37:27
pythontime模塊是什么
pythontime模塊是什么在python中使用時間,就免不了和time模塊打交道,另外兩個模塊這個暫時先不做介紹。做time模塊的使用上,我們可以用它來對...詳情>>
2023-11-10 15:53:16
python是什么編程語言
python是什么編程語言1、說明是一種面向?qū)ο?、解釋型計算機程序設(shè)計語言,由GuidovanRossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年。Pyt...詳情>>
2023-11-10 15:21:05
python異常處理的兩種技巧
python異常處理的兩種技巧1、傳遞異常有時我們會在捕捉到一個異常后重新引發(fā)它(傳遞異常),實現(xiàn)起來很簡單,使用不帶參數(shù)的raise語句即可。deff...詳情>>
2023-11-10 14:49:39熱門推薦
python中的filter函數(shù)功能是什么?
沸python delattr函數(shù)如何使用?
熱python中pdb模塊怎么用?
熱Python如何截圖保存?
新python?中缺少module怎么辦?
python strftime和strptime的不同分析
python time.strptime的格式化
python中@contextmanager是什么?
python對象的三要素是什么
pythonGIL在Python多線程的應(yīng)用
python如何對多個CSV文件進行讀取
pythonif嵌套命令如何理解?
python對列表進行永久性或臨時排序的方法
python生成器調(diào)用方法引發(fā)異常
技術(shù)干貨







快速通道 更多>>
-
課程介紹
點擊獲取大綱 -
就業(yè)前景
查看就業(yè)薪資 -
學習費用
了解課程價格 -
優(yōu)惠活動
領(lǐng)取優(yōu)惠券 -
學習資源
領(lǐng)3000G教程 -
師資團隊
了解師資團隊 -
實戰(zhàn)項目
獲取項目源碼 -
開班地區(qū)
查看來校路線