1. 程式人生 > >01- Numy基礎:陣列和向量計算

01- Numy基礎:陣列和向量計算

1. NumPy基礎:陣列和向量計算

NumPy (Numeriacal /njuː’merɪk(ə)l/ Python)是高效能科學計算和資料分析的基礎包。 它是幾乎所有高階工具的構建基礎,其部分功能如下:

  • Ndarray,一個具有向量算術運算和複雜廣播能力的快速且節省空間的多維陣列

  • 用於對整組資料進行快速運算的標準數學函式(無需編寫迴圈)

  • 用於讀寫磁碟資料的工具以及用於操作記憶體對映檔案的工具

  • 線性代數、隨機數生成以及傅立葉變換功能

  • 用於整合有C、C++、Fortran等語言編寫的程式碼的工具 對於大部分資料分析應用而言,最關注的功能主要集中在:

  • 用於資料整理和清理,子集構造和過濾,轉換等快速的向量化陣列的運算

  • 常用的數字演算法,如排序,唯一化,集合運算等

  • 高效的描述統計和資料聚合,摘要運算

  • 用於異構資料集的合併,連線運算的資料對齊和關係型資料運算

  • 將條件邏輯表述為陣列表示式(而不是帶有if-elif-else分支的迴圈)

  • 資料的分組運算(聚合,轉換,函式應用等) PS:按照標準的NumPy約定,使用:

    import numpy as np

1.1. NumPy的ndarray:一種多維陣列物件

Numpy最重要的一個特點就是其 N維陣列物件(即ndarray),是一個快速而靈活的大資料集容器。 其語法跟標量元素的運算一樣:

import numpy as np 
data = [ [0.9526, -0.246, -0.8856] , [0.5639, 0.2379, 0.9104] ]
data = np.array(data)
data
Out[6]: 
array([[ 0.9526, -0.246 , -0.8856],
       [ 0.5639,  0.2379,  0.9104]])

data * 10
Out[7]: 
array([[ 9.526, -2.46 , -8.856],
       [ 5.639,  2.379,  9.104]])

data + data
Out[8]: 
array([[ 1.9052, -0.492 , -1.7712],
       [ 1.1278,  0.4758,  1.8208]])

ndarray是一個通用的同構資料多維容器,其中的所有元素必須是相同型別

  • 每個陣列都有一個 shape — 一個表示各維度大小的元組

  • 每個陣列都有一個 dtype — 一個表示陣列中資料型別的物件

    data.shape Out[9]: (2, 3) data.dtype Out[10]: dtype(‘float64’)