NumPy函數庫基礎

NumPy函數庫作爲python第三方庫中非常強大的開源庫,是對數值計算的擴展,主要用來存儲和處理大型矩陣。有人甚至說,NumPy庫使得python可作爲一個免費且更加強大的Matlab系統。NumPy庫在數據科學,機器學習等各方面的重要性可見一斑。下面是NumPy函數庫的一些基礎知識,分爲Numpy函數庫的安裝及其簡單使用兩部分。


1.安裝NumPy函數庫

想必大家都已經安裝了Python運行環境,那麼只需要以管理員權限運行cmd,然後使用pip命令獲取NumPy。現在安裝Python環境後,都可以直接使用pip命令。只需要鍵入下面一行命令即可。

pip install numpy                            #嗯,就是這麼簡單:)


2.NumPy庫的簡單使用

我們以random.rand()函數爲起始點,介紹NumPy庫的使用。

首先,打開Python的shell窗口,進行我們NumPy庫的初次使用

>>>from numpy import *                       #引入numpy中的所有模塊
>>>randArr = random.rand(3,2)                #生成3X2的隨機數組
>>>randArr
array([[ 0.46235306,  0.1384437 ],
       [ 0.01735966,  0.25606631],
       [ 0.05099193,  0.15190798]])
>>>type(randArr)
<class 'numpy.ndarray'>                      #注意randArr的類型
>>>randArr[2][0]                             #對該數組某元素的索引(Method 1)
0.050991928369956252
>>> randArr[2,0]                             #對該數組某元素的索引(Methon 2)
0.050991928369956252
>>> randArr[1]                               #對該數組某行的索引
array([ 0.01735966,  0.25606631])
怎麼樣,是不是非常簡單啊?

咦,不是說NumPy是處理矩陣的嗎,矩陣呢?別急,下面就是我們的矩陣了。

在shell窗口中,繼續進行我們的實驗。

>>> randMat = mat(randArr)                   #利用前面生成的隨機數組,使用mat()函數來產生我們的矩陣
>>> randMat
matrix([[ 0.46235306,  0.1384437 ],
        [ 0.01735966,  0.25606631],
        [ 0.05099193,  0.15190798]])
>>> type(randMat)                            #randMat的類型果然是matrix吧:)
<class 'numpy.matrixlib.defmatrix.matrix'>
>>> randMat[2]                               #對該矩陣某行的索引
matrix([[ 0.05099193,  0.15190798]])
>>> randMat[2,0]                             #對該矩陣某元素的索引(注意不要寫成randMat[2][0])
0.050991928369956252
>>> invRandMat = randMat.I                   #class'numpy.matrixlib.defmatrix.matrix'的.I屬性是原矩陣的逆矩陣
>>> invRandMat
matrix([[ 2.23877113, -1.00499117, -0.34625819],
        [-0.29823297,  3.08542477,  1.6537323 ]])
>>> matrix = invRandMat * randMat            #矩陣的乘法,因爲計算誤差,所以不是正好的單位陣
>>> matrix
matrix([[  1.00000000e+00,   9.02056208e-17],
        [  9.71445147e-17,   1.00000000e+00]])


NumPy庫還有很多很好用的函數和功能,需要讀者自己去體驗哦。馬上用NumPy庫幫助你進行數據處理吧。




發佈了54 篇原創文章 · 獲贊 57 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章