1. 程式人生 > >Python資料分析Numpy庫方法簡介(四)

Python資料分析Numpy庫方法簡介(四)

Numpy的相關概念2

副本和檢視

  • 副本:複製

    • 三種情況屬於淺copy

      • 賦值運算

      • 切片

      • 檢視:連結,運算元組是,返回的不是副本就是檢視 c =a.view().建立a的檢視/影子和切片一樣都是淺copy

    • 深copy

      • b = a.copy

向量化

向量化和廣播兩個原理是矩陣內部原理

  • 向量化運算=向量化運算(可避免迴圈,直接實現矩陣之間,對應元素進行操作)

 

廣播機制

廣播機制:維度不同的矩陣運算時低維數矩陣會自動補全

  • 原則1.1維陣列可以和任意維度矩陣進行運算

  • 原則2:是低維度矩陣按照某個軸進行廣播

    import numpy as np
    a = np.array([[1,3],
                [2,4]])
    b = np.array([2])
    a+b # 結果 3 ,5,4,6

    b2 = np.array([[1],[3]])
    a+b2 #

 

切片技巧

  • 切片時引數可為布林條件

    a[a>5] 表示提取大於5的元素的資料
  • 切片時可以傳遞陣列

    import numpy as np
    #索引技巧一維陣列
    a = np.arange(12)
    b = np.array([1,2,6,8])
    a[b]#傳遞的引數是陣列b
    """
    array([1, 2, 6, 8])
    """
    #實列2二維矩陣
    import numpy as np
    a = np.arange(1,9).reshape(3,3)
    b = np.array([[2,0],[1,2]])
    a[b]
    """

    array([[[7, 8, 9],
          [1, 2, 3]],

          [[4, 5, 6],
          [7, 8, 9]]])
    """

 

拼接

  • vstack((陣列,陣列)) /([陣列,陣列]) 水平拼接

  • hstack((陣列,陣列)) 垂直拼接