Python 的許多特性,比如開發(fā)效率,、代碼可讀性,、速度等使之成為了數(shù)據(jù)科學(xué)愛好者的首選編程語言。對于想要升級應(yīng)用程序功能的數(shù)據(jù)科學(xué)家和機(jī)器學(xué)習(xí)專家來說,,Python 通常是最好的選擇(比如,,Andrey Bulezyuk 使用 Python 語言創(chuàng)造了一個優(yōu)秀的機(jī)器學(xué)習(xí)應(yīng)用程序)。 由于 Python 的廣泛使用,因此它擁有大量的庫,,使得數(shù)據(jù)科學(xué)家能夠很容易地完成復(fù)雜的任務(wù),,而且不會遇到許多編碼困難。下面列出 3 個用于數(shù)據(jù)科學(xué)的頂級 Python 庫,。如果你想在數(shù)據(jù)科學(xué)這一領(lǐng)域開始你的職業(yè)生涯,,就去了解一下它們吧。 NumPy NumPy(數(shù)值 Python 的簡稱)是其中一個頂級數(shù)據(jù)科學(xué)庫,,它擁有許多有用的資源,,從而幫助數(shù)據(jù)科學(xué)家把 Python 變成一個強(qiáng)大的科學(xué)分析和建模工具。NumPy 是在 BSD 許可證的許可下開源的,,它是在科學(xué)計算中執(zhí)行任務(wù)的基礎(chǔ) Python 庫,。SciPy 是一個更大的基于 Python 生態(tài)系統(tǒng)的開源工具,而 NumPy 是 SciPy 非常重要的一部分,。 NumPy 為 Python 提供了大量數(shù)據(jù)結(jié)構(gòu),,從而能夠輕松地執(zhí)行多維數(shù)組和矩陣運(yùn)算。除了用于求解線性代數(shù)方程和其它數(shù)學(xué)計算之外,,NumPy 還可以用做不同類型通用數(shù)據(jù)的多維容器,。 此外,NumPy 還可以和其他編程語言無縫集成,,比如 C/C++ 和 Fortran,。NumPy 的多功能性使得它可以簡單而快速地與大量數(shù)據(jù)庫和工具結(jié)合。比如,,讓我們來看一下如何使用 NumPy(縮寫成 np)來實(shí)現(xiàn)兩個矩陣的乘法運(yùn)算,。 我們首先導(dǎo)入 NumPy 庫(在這些例子中,我將使用 Jupyter notebook):
接下來,,使用 eye() 函數(shù)來生成指定維數(shù)的單位矩陣:
輸出如下: 讓我們生成另一個 3×3 矩陣,。 我們使用 arange([starting number], [stopping number]) 函數(shù)來排列數(shù)字,。注意,,函數(shù)中的第一個參數(shù)是需要列出的初始數(shù)字,而后一個數(shù)字不包含在生成的結(jié)果中,。 另外,,使用 reshape() 函數(shù)把原始生成的矩陣的維度改成我們需要的維度,。為了使兩個矩陣“可乘”,,它們需要有相同的維度。
輸出如下: 接下來,,使用 dot() 函數(shù)將兩個矩陣相乘,。
相乘后的輸出如下: 太好了,! 我們成功使用 NumPy 完成了兩個矩陣的相乘,而不是使用普通冗長vanilla的 Python 代碼,。 下面是這個例子的完整代碼:
PandasPandas 是另一個可以提高你的 Python 數(shù)據(jù)科學(xué)技能的優(yōu)秀庫,。就和 NumPy 一樣,,它屬于 SciPy 開源軟件家族,,可以在 BSD 自由許可證許可下使用,。 Pandas 提供了多能而強(qiáng)大的工具,,用于管理數(shù)據(jù)結(jié)構(gòu)和執(zhí)行大量數(shù)據(jù)分析,。該庫能夠很好的處理不完整、非結(jié)構(gòu)化和無序的真實(shí)世界數(shù)據(jù),,并且提供了用于整形,、聚合、分析和可視化數(shù)據(jù)集的工具 Pandas 中有三種類型的數(shù)據(jù)結(jié)構(gòu):
例如,,我們來看一下如何使用 Panda 庫(縮寫成 pd)來執(zhí)行一些描述性統(tǒng)計計算。 首先導(dǎo)入該庫:
然后,,創(chuàng)建一個序列series字典: 接下來,,再創(chuàng)建一個數(shù)據(jù)框DataFrame:
輸出是一個非常規(guī)整的表: 下面是這個例子的完整代碼: Matplotlib Matplotlib 也是 Scipy 核心包的一部分,并且在 BSD 許可證下可用,。它是一個非常流行的科學(xué)庫,,用于實(shí)現(xiàn)簡單而強(qiáng)大的可視化,。你可以使用這個 Python 數(shù)據(jù)科學(xué)框架來生成曲線圖、柱狀圖,、直方圖以及各種不同形狀的圖表,并且不用擔(dān)心需要寫很多行的代碼。例如,,我們來看一下如何使用 Matplotlib 庫來生成一個簡單的柱狀圖。 首先導(dǎo)入該庫:
然后生成 x 軸和 y 軸的數(shù)值:
接下來,,調(diào)用函數(shù)來繪制柱狀圖:
最后,顯示圖表:
柱狀圖如下: 下面是這個例子的完整代碼:
總結(jié) Python 編程語言非常擅長數(shù)據(jù)處理和準(zhǔn)備,,但是在科學(xué)數(shù)據(jù)分析和建模方面就沒有那么優(yōu)秀了,。幸好有這些用于數(shù)據(jù)科學(xué)的頂級 Python 框架填補(bǔ)了這一空缺,,從而你能夠進(jìn)行復(fù)雜的數(shù)學(xué)計算以及創(chuàng)建復(fù)雜模型,進(jìn)而讓數(shù)據(jù)變得更有意義,。 你還知道其它的 Python 數(shù)據(jù)挖掘庫嗎,?你的使用經(jīng)驗(yàn)是什么樣的,?請在下面的評論中和我們分享,。 【關(guān)于投稿】 如果大家有原創(chuàng)好文投稿,,請直接給公號發(fā)送留言,。 ① 留言格式:
看完本文有收獲,?請轉(zhuǎn)發(fā)分享給更多人 關(guān)注「數(shù)據(jù)分析與開發(fā)」,,提升數(shù)據(jù)技能
|
|