欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python NumPy庫安裝使用筆記

 更新時間:2015年05月18日 09:36:25   投稿:junjie  
這篇文章主要介紹了Python NumPy庫安裝使用筆記,本文講解了NumPy的安裝和基礎(chǔ)使用,并對每一句代碼都做了詳細解釋,需要的朋友可以參考下

1. NumPy安裝
使用pip包管理工具進行安裝

復制代碼 代碼如下:

$ sudo pip install numpy

使用pip包管理工具安裝ipython(交互式shell工具)
復制代碼 代碼如下:

$ sudo pip instlal ipython
$ ipython --pylab  #pylab模式下, 會自動導入SciPy, NumPy, Matplotlib模塊

2. NumPy基礎(chǔ)

2.1. NumPy數(shù)組對象

具體解釋可以看每一行代碼后的解釋和輸出

復制代碼 代碼如下:

In [1]: a = arange(5)  # 創(chuàng)建數(shù)據(jù)
In [2]: a.dtype
Out[2]: dtype('int64')  # 創(chuàng)建數(shù)組的數(shù)據(jù)類型
In [3]: a.shape  # 數(shù)組的維度, 輸出為tuple
Out[3]: (5,)
In [6]: m = array([[1, 2], [3, 4]])  # array將list轉(zhuǎn)換為NumPy數(shù)組對象
In [7]: m  # 創(chuàng)建多維數(shù)組
Out[7]:
array([[1, 2],
       [3, 4]])
In [10]: m.shape  # 維度為2 * 2
Out[10]: (2, 2)
In [14]: m[0, 0]  # 訪問多維數(shù)組中特定位置的元素, 下標從0開始
Out[14]: 1
In [15]: m[0, 1]
Out[15]: 2

2.2. 數(shù)組的索引和切片

復制代碼 代碼如下:

In [16]: a[2: 4]  # 切片操作類似與Python中l(wèi)ist的切片操作
Out[16]: array([2, 3])
In [18]: a[2 : 5: 2]  # 切片步長為2
Out[18]: array([2, 4])
In [19]: a[ : : -1]  # 翻轉(zhuǎn)數(shù)組
Out[19]: array([4, 3, 2, 1, 0])
In [20]: b = arange(24).reshape(2, 3, 4)  # 修改數(shù)組的維度
In [21]: b.shape
Out[21]: (2, 3, 4)
In [22]: b  # 打印數(shù)組
Out[22]:
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
In [23]: b[1, 2, 3]  # 選取特定元素
Out[23]: 23
In [24]: b[ : , 0, 0]  # 忽略某個下標可以用冒號代替
Out[24]: array([ 0, 12])
In [23]: b[1, 2, 3]
Out[23]: 23
In [24]: b[ : , 0, 0]  # 忽略多個下標可以使用省略號代替
Out[24]: array([ 0, 12])
In [26]: b.ravel()  # 數(shù)組的展平操作
Out[26]:
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
In [27]: b.flatten()  # 與revel功能相同, 這個函數(shù)會請求分配內(nèi)存來保存結(jié)果
Out[27]:
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23])
In [30]: b.shape = (6, 4)  # 可以直接對shape屬性賦值元組來設(shè)置維度
In [31]: b
Out[31]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19],
       [20, 21, 22, 23]])
In [30]: b.shape = (6, 4)  # 矩陣的轉(zhuǎn)置
In [31]: b
Out[31]:
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15],
       [16, 17, 18, 19],
       [20, 21, 22, 23]])

2.3. 組合數(shù)組

復制代碼 代碼如下:

In [1]: a = arange(9).reshape(3, 3)  # 生成數(shù)組對象并改變維度
In [2]: a
Out[2]:
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
In [3]: b = a * 2  # 對a數(shù)組對象所有元素乘2
In [4]: b
Out[4]:
array([[ 0,  2,  4],
       [ 6,  8, 10],
       [12, 14, 16]])
#######################
In [5]: hstack((a, b))  # 水平組合數(shù)組a和數(shù)組b
Out[5]:
array([[ 0,  1,  2,  0,  2,  4],
       [ 3,  4,  5,  6,  8, 10],
       [ 6,  7,  8, 12, 14, 16]])
      
In [6]: vstack((a, b))  # 垂直組合數(shù)組a和數(shù)組b
Out[6]:
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 0,  2,  4],
       [ 6,  8, 10],
       [12, 14, 16]])
In [7]: dstack((a, b))  # 深度組合數(shù)組, 沿z軸方向?qū)盈B組合數(shù)組
Out[7]:
array([[[ 0,  0],
        [ 1,  2],
        [ 2,  4]],
       [[ 3,  6],
        [ 4,  8],
        [ 5, 10]],
       [[ 6, 12],
        [ 7, 14],
        [ 8, 16]]])

2.4. 分割數(shù)組

復制代碼 代碼如下:

In [8]: a
Out[8]:
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
In [9]: hsplit(a, 3)  # 將數(shù)組沿水平方向分割成三個相同大小的子數(shù)組
Out[9]:
[array([[0],
        [3],
        [6]]),
 array([[1],
        [4],
        [7]]),
 array([[2],
        [5],
        [8]])]
In [10]: vsplit(a, 3)  # 將數(shù)組沿垂直方向分割成三個子數(shù)組
Out[10]: [array([[0, 1, 2]]), array([[3, 4, 5]]), array([[6, 7, 8]])]

2.5. 數(shù)組的屬性

復制代碼 代碼如下:

In [12]: a.ndim  # 給出數(shù)組的尾數(shù)或數(shù)組的軸數(shù)
Out[12]: 2
In [13]: a.size  # 數(shù)組中元素的個數(shù)
Out[13]: 9
In [14]: a.itemsize  # 數(shù)組中元素在內(nèi)存中所占字節(jié)數(shù)(int64)
Out[14]: 8
In [15]: a.nbytes  # 數(shù)組所占總字節(jié)數(shù), size * itemsize
Out[15]: 72
In [18]: a.T  # 和transpose函數(shù)一樣, 求數(shù)組的轉(zhuǎn)置
Out[18]:
array([[0, 3, 6],
       [1, 4, 7],
       [2, 5, 8]])

2.6. 數(shù)組的轉(zhuǎn)換

復制代碼 代碼如下:

In [19]: a.tolist()  # 將NumPy數(shù)組轉(zhuǎn)換成python中的list
Out[19]: [[0, 1, 2], [3, 4, 5], [6, 7, 8]]

3. 常用函數(shù)

復制代碼 代碼如下:

In [22]: c = eye(2)  # 構(gòu)建2維單位矩陣
In [23]: c
Out[23]:
array([[ 1.,  0.],
       [ 0.,  1.]])
In [25]: savetxt("eye.txt", c)  # 將矩陣保存到文件中
In [5]: c, v = loadtxt("test.csv", delimiter=",", usecols=(0, 1), unpack=True)  # 分隔符為, usecols為元組表示要獲取的字段數(shù)據(jù)(每一行的第零段和第一段), unpack為True表示拆分存儲不同列的數(shù)據(jù), 分別存入c, v
In [12]: c
Out[12]: array([ 1.,  4.,  7.])
In [13]: mean(c)  # 計算矩陣c的mean均值
Out[13]: 4.0
In [14]: np.max(c)  # 求數(shù)組中的最大值
Out[14]: 7.0
In [15]: np.min(c)  # 求數(shù)組中的最小值
Out[15]: 1.0
In [16]: np.ptp(c)  # 返回數(shù)組最大值和最小值之間的差值
Out[16]: 6.0
In [18]: numpy.median(c)  # 找到數(shù)組中的中位數(shù)(中間兩個數(shù)的平均值)
Out[18]: 4.0
In [19]: numpy.var(c)  # 計算數(shù)組的方差
Out[19]: 6.0
In [20]: numpy.diff(c)  # 返回相鄰數(shù)組元素的差值構(gòu)成的數(shù)組
Out[20]: array([ 3.,  3.])
In [21]: numpy.std(c)  # 計算數(shù)組的標準差
Out[21]: 2.4494897427831779
In [22]: numpy.where(c > 3)  # 返回滿足條件的數(shù)組元素的下標組成的數(shù)組
Out[22]: (array([1, 2]),)

相關(guān)文章

  • Python機器學習應用之支持向量機的分類預測篇

    Python機器學習應用之支持向量機的分類預測篇

    最近完成的一個項目用到了SVM,之前也一直有聽說支持向量機,知道它是機器學習中一種非常厲害的算法。利用將近一個星期的時間學習了一下支持向量機,把原理推了一遍,感覺支持向量機確實挺厲害的,這篇文章帶你了解它
    2022-01-01
  • python3.7.0的安裝步驟

    python3.7.0的安裝步驟

    本文分步驟給大家介紹了python3.7.0的安裝步驟,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • 關(guān)于不懂Chromedriver如何配置環(huán)境變量問題解決方法

    關(guān)于不懂Chromedriver如何配置環(huán)境變量問題解決方法

    這篇文章主要介紹了關(guān)于不懂Chromedriver如何配置環(huán)境變量問題解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • Python設(shè)計模式優(yōu)雅構(gòu)建代碼全面教程示例

    Python設(shè)計模式優(yōu)雅構(gòu)建代碼全面教程示例

    Python作為一門多范式的編程語言,提供了豐富的設(shè)計模式應用場景,在本文中,我們將詳細介紹 Python 中的各種設(shè)計模式,包括創(chuàng)建型、結(jié)構(gòu)型和行為型模式
    2023-11-11
  • python基于queue和threading實現(xiàn)多線程下載實例

    python基于queue和threading實現(xiàn)多線程下載實例

    這篇文章主要介紹了python基于queue和threading實現(xiàn)多線程下載實例,是比較實用的技巧,需要的朋友可以參考下
    2014-10-10
  • OpenCV 表盤指針自動讀數(shù)的示例代碼

    OpenCV 表盤指針自動讀數(shù)的示例代碼

    這篇文章主要介紹了OpenCV 表盤指針自動讀數(shù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • 零基礎(chǔ)寫python爬蟲之爬蟲編寫全記錄

    零基礎(chǔ)寫python爬蟲之爬蟲編寫全記錄

    前面九篇文章從基礎(chǔ)到編寫都做了詳細的介紹了,第十篇么講究個十全十美,那么我們就來詳細記錄一下一個爬蟲程序如何一步步編寫出來的,各位看官可要看仔細了
    2014-11-11
  • Pandas實現(xiàn)groupby分組統(tǒng)計方法實例

    Pandas實現(xiàn)groupby分組統(tǒng)計方法實例

    在數(shù)據(jù)處理的過程,有可能需要對一堆數(shù)據(jù)分組處理,例如對不同的列進行agg聚合操作(mean,min,max等等),下面這篇文章主要給大家介紹了關(guān)于Pandas實現(xiàn)groupby分組統(tǒng)計方法的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • python實現(xiàn)簡單的聊天小程序

    python實現(xiàn)簡單的聊天小程序

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單的聊天小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • python樹的雙親存儲結(jié)構(gòu)的實現(xiàn)示例

    python樹的雙親存儲結(jié)構(gòu)的實現(xiàn)示例

    本文主要介紹了python樹的雙親存儲結(jié)構(gòu),這種存儲結(jié)構(gòu)是一種順序存儲結(jié)構(gòu),采用元素形如“[結(jié)點值,雙親結(jié)點索引]”的列表表示,感興趣的可以了解一下
    2023-11-11

最新評論