2020年十大用于數(shù)據(jù)科學(xué)的Python庫(kù)
Python在數(shù)據(jù)科學(xué)方面取得巨大成功的另一個(gè)原因是它對(duì)數(shù)據(jù)科學(xué)和分析的廣泛的庫(kù)支持。有許多Python庫(kù)包含大量用于管理和分析數(shù)據(jù)的函數(shù)、工具和方法。
這些庫(kù)中的每一個(gè)都有一個(gè)特定的重點(diǎn),一些庫(kù)管理圖像和文本數(shù)據(jù)、數(shù)據(jù)挖掘、神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)可視化等等。今天,就和大家分享數(shù)據(jù)科學(xué)中的10大Python庫(kù)。
1. Pandas
Panda是一個(gè)用于數(shù)據(jù)分析和數(shù)據(jù)處理的免費(fèi)Python軟件庫(kù)。它是作為一個(gè)圖書(shū)館項(xiàng)目創(chuàng)建的,2008年首次發(fā)布,panda提供了各種高性能且易于使用的數(shù)據(jù)操作功能。
panda還提供了多種工具,用于在內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)和不同的文件格式之間讀取和寫(xiě)入數(shù)據(jù)。簡(jiǎn)而言之,它適合用于簡(jiǎn)單快速的數(shù)據(jù)操作、讀取和寫(xiě)入數(shù)據(jù)以及數(shù)據(jù)可視化。panda還可以從不同類(lèi)型的文件(如CSV、excel等)或SQL數(shù)據(jù)庫(kù)中獲取數(shù)據(jù),并創(chuàng)建一個(gè)名為data frame的Python對(duì)象。一個(gè)數(shù)據(jù)框架包含行和列,它可以用于數(shù)據(jù)操作,例如連接、合并、連接等操作。
項(xiàng)目地址:https://www.geeksforgeeks.org/python-pandas-series/
2. NumPy
NumPy是一個(gè)免費(fèi)的Python軟件庫(kù),用于對(duì)大數(shù)組和多維矩陣形式的數(shù)據(jù)進(jìn)行數(shù)值計(jì)算。NumPy還提供了各種工具來(lái)處理這些數(shù)組和高級(jí)數(shù)學(xué)函數(shù),以使用線性代數(shù)、傅里葉變換、隨機(jī)數(shù)處理等操作這些數(shù)據(jù)。
可以使用NumPy執(zhí)行的一些基本數(shù)組操作包括添加、相乘、重新構(gòu)造和索引數(shù)組。其他高級(jí)功能包括疊加數(shù)組、將數(shù)組分割成N個(gè)小數(shù)組等。
地址:https://www.geeksforgeeks.org/numpy-in-python-set-1-introduction/
3. SciPy
SciPy是一個(gè)免費(fèi)的軟件庫(kù),用于對(duì)數(shù)據(jù)進(jìn)行科學(xué)計(jì)算。它是作為一個(gè)社區(qū)庫(kù)創(chuàng)建的,并在2001年左右首次發(fā)布,SciPy庫(kù)建立在NumPy數(shù)組對(duì)象上,它還兼容其他科學(xué)計(jì)算庫(kù)和工具,如Matplotlib、panda等。
SciPy允許各種科學(xué)計(jì)算任務(wù),使用線性代數(shù)、傅里葉變換、隨機(jī)數(shù)生成、特殊函數(shù)等來(lái)處理數(shù)據(jù)優(yōu)化、數(shù)據(jù)集成、數(shù)據(jù)插入和數(shù)據(jù)修改,與NumPy一樣,多維矩陣是SciPy中的主要對(duì)象,由NumPy模塊本身提供。
地址:https://www.geeksforgeeks.org/data-analysis-with-scipy/
4. Scikit-learn
Scikit-learn是一個(gè)主要用Python編程語(yǔ)言編寫(xiě)機(jī)器學(xué)習(xí)代碼的免費(fèi)軟件庫(kù)。它最初是由David Cournapeau開(kāi)發(fā)的谷歌Summer of Code項(xiàng)目,并于2007年6月發(fā)布。Scikit-learn構(gòu)建在其他Python庫(kù)之上,如NumPy、SciPy、Matplotlib、panda等,因此它提供了與這些庫(kù)的完全互操作性。
雖然Scikit-learn主要是用Python編寫(xiě)的,但它也使用了Cython來(lái)編寫(xiě)一些核心算法,以提高性能。你可以在Scikit-learn上實(shí)現(xiàn)各種監(jiān)督和非監(jiān)督的機(jī)器學(xué)習(xí)模型,如分類(lèi)、回歸、支持向量機(jī)、隨機(jī)森林、最近鄰、樸素貝葉斯、決策樹(shù)、集群等。
項(xiàng)目地址:https://scikit-learn.org/stable/
5. TensorFlow
TensorFlow是一個(gè)免費(fèi)的端到端開(kāi)源平臺(tái),擁有各種各樣的工具、庫(kù)和人工智能資源。它是由谷歌大腦團(tuán)隊(duì)開(kāi)發(fā)的,并于2015年11月9日首次發(fā)布,你可以使用TensorFlow高級(jí)API輕松地構(gòu)建和訓(xùn)練機(jī)器學(xué)習(xí)模型。
TensorFlow還允許你在任何地方部署機(jī)器學(xué)習(xí)模型,例如云、瀏覽器或你自己的設(shè)備。如果你想要完整的體驗(yàn),你應(yīng)該使用TensorFlow Extended (TFX),如果你想要在移動(dòng)設(shè)備上使用,你應(yīng)該使用TensorFlow Lite,如果你想要在JavaScript環(huán)境中訓(xùn)練和部署模型,你應(yīng)該使用TensorFlow.js。TensorFlow適用于Python和C API,也適用于c++、Java、JavaScript、Go、Swift等。第三方包也可以用于MATLAB、c#、Julia、Scala、R、Rust等。
項(xiàng)目地址:https://www.geeksforgeeks.org/introduction-to-tensorflow/
6. Keras
Keras是一個(gè)用Python編寫(xiě)的免費(fèi)開(kāi)源神經(jīng)網(wǎng)絡(luò)庫(kù)。它最初由谷歌的工程師Francois Chollet創(chuàng)建,并于2015年3月27日發(fā)布。Keras的創(chuàng)建是為了用戶(hù)友好、可擴(kuò)展和模塊化,同時(shí)支持深度神經(jīng)網(wǎng)絡(luò),因此,它可以運(yùn)行在其他庫(kù)和語(yǔ)言之上,如TensorFlow、Theano、Microsoft Cognitive Toolkit、R等。
Keras有多種工具,可以更容易地處理不同類(lèi)型的圖像和文本數(shù)據(jù),以便在深度神經(jīng)網(wǎng)絡(luò)中編碼。它還具有各種神經(jīng)網(wǎng)絡(luò)構(gòu)建模塊的實(shí)現(xiàn),如層、優(yōu)化器、激活函數(shù)等。你可以使用Keras執(zhí)行各種操作,例如創(chuàng)建自定義函數(shù)層、使用重復(fù)的代碼塊編寫(xiě)函數(shù)等等。
項(xiàng)目地址:https://keras.io/
用于數(shù)據(jù)可視化的Python庫(kù)
1. Matplotlib
Matplotlib是一個(gè)數(shù)據(jù)可視化庫(kù)和Python的2d繪圖庫(kù),它最初于2003年發(fā)布,是Python社區(qū)中比較流行和廣泛使用的繪圖庫(kù),它提供了一個(gè)跨多個(gè)平臺(tái)的交互式環(huán)境。Matplotlib可用于Python腳本、Python和IPython、Jupyter、Web應(yīng)用服務(wù)器等。
Matplotlib可以使用各種GUI工具包(如Tkinter、GTK+、wxPython、Qt等)將繪圖嵌入到應(yīng)用程序中。因此,您可以使用Matplotlib創(chuàng)建圖表、條形圖、餅圖、直方圖、散點(diǎn)圖等。Pyplot模塊還提供了一個(gè)類(lèi)似于MATLAB的接口,它與MATLAB一樣多用途且非常有用,同時(shí)是完全免費(fèi)的開(kāi)源的。
地址:https://www.geeksforgeeks.org/python-introduction-matplotlib/
2. Seaborn
Seaborn是一個(gè)基于Matplotlib的Python數(shù)據(jù)可視化庫(kù),與numpy和pandas數(shù)據(jù)結(jié)構(gòu)緊密集成。Seaborn有各種面向數(shù)據(jù)集的繪圖函數(shù),這些函數(shù)對(duì)包含整個(gè)數(shù)據(jù)集的數(shù)據(jù)和數(shù)組進(jìn)行操作。Seaborn還提供了各種工具來(lái)幫助用戶(hù)自由選擇數(shù)據(jù)的顏色顯示。
項(xiàng)目地址:https://seaborn.pydata.org/
3. Plotly
Plotly是一個(gè)免費(fèi)的開(kāi)源圖形庫(kù),可用于形成數(shù)據(jù)可視化??梢允褂肈ash或作為單獨(dú)的HTML文件顯示在Jupyter Notes或Web應(yīng)用程序中。Plotly提供超過(guò)40種獨(dú)特的圖表類(lèi)型,如散點(diǎn)圖、直方圖、折線圖、柱狀圖、餅狀圖等。
項(xiàng)目地址:https://plotly.com/
4. GGplot
Ggplot是一個(gè)基于ggplot2實(shí)現(xiàn)的Python數(shù)據(jù)可視化庫(kù),Ggplot是為R語(yǔ)言創(chuàng)建的。Ggplot可以使用高級(jí)API創(chuàng)建數(shù)據(jù)可視化,如條形圖、餅圖、直方圖、散點(diǎn)圖等,Ggplot還與panda緊密相連,因此最好將數(shù)據(jù)保存在DataFrames中。
項(xiàng)目地址:http://ggplot.yhathq.com/























