1_numpy_安裝_介紹_簡單使用

numpy的安裝與簡單介紹

原文檔

  1. 安裝numpy

    使用pip

    pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
    

    在文件中導入numpy

    import numpy as np
    

    np是numpy模塊的別名,儘管別名可以省略或更改,建議使用上述約定俗成的別名

  2. numpy的N維數組對象:ndarray

    Python已有列表類型,爲什麼需要一個數組對象(類型)?

    例如: 計算 A^2 +B^3 ,其中,A和B是一維數組。

     a = [0, 1, 2, 3, 4, ]
     b = [9, 8, 7, 6, 5, ]
     
     # 方法1
     def py_sum():
         c = []
         for i in range(len(a)):
             c.append(a[i] ** 2 + b[i] ** 2)
         print(c)
     
     py_sum() #[81, 65, 53, 45, 41]
     
     #方法2
     def np_sum():
         global a
         global b
         a = np.array(a)
         b = np.array(b)
         c = a ** 2 + b ** 2
         print(c)
     np_sum()#[81 65 53 45 41]
    

    對比兩種方法:

    方法2:

    1. 數組對象可以去掉元素間運算所需的循環,使一維向量更像單個數據
    2. 設置專門的數組對象,經過優化,可以提升這類應用的運算速度
    3. 數組對象採用相同的數據類型,有助於節省運算和存儲空間

    ndarray是一個多維數組對象,由兩部分構成

    • 實際的數據
    • 描述這些數據的原數據

    ndarray對象的屬性

    • 軸(axis):保存數據的維度;秩(rank):軸的數量

      img

    實例

     # ndarray屬性
     
     a = np.array(
         [[1, 2, 3, 4],
          [5, 6, 7, 8]]
     )
     print(a.ndim)  # 秩 2
     print(a.shape)  # 對象的尺度 n行m列 2行4列  (2,4)
     print(a.size)  # 對象的個數 n*m 8
     print(a.dtype)  # 元素類型 int64
     print(a.itemsize)  # 每個元素的大小,以字節爲單位  8
    

    img

    img

    img

    ndarray爲什麼要支持這麼多種元素類型?

    • 對比:Python語法僅支持整數、浮點數和複數3種類型

      • 科學計算涉及數據較多,對存儲和性能都有較高要求

      • 對元素類型精細定義,有助於NumPy合理使用存儲空間並優化性能

      • 對元素類型精細定義,有助於程序員對程序規模有合理評估

    非同質的ndarray對象:

     a = np.array(
         [[1, 2, 3, 4],
          [5, 6, 7]]
     )
     print(a.ndim)  # 秩 1
     print(a.shape)  # 對象的尺度 n行m列   (2,)
     print(a.size)  # 對象的個數 n*m 2
     print(a.dtype)  # 元素類型 object
     print(a.itemsize)  # 每個元素的大小,以字節爲單位  8
    
    • 非同質元素爲對象類型

    • 非同質的情況下,數組的各種屬性已發生變化,與同質情況不同,不必去深究它。

    • 非同質ndarray對象無法有效發揮NumPy優勢,儘量避免使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章