![[筆記] Python Numpy 常見方法](/_astro/pexels-photo-1181359.ReSkABMO_214PdV.webp)

NumPy 常用方法整理(含參數說明)#
1. 建立陣列(Array Creation)#
| 方法 | 說明 | 參數用途 |
|---|---|---|
np.array([1, 2, 3]) | 從 list 建立陣列 | list: 欲轉為陣列的 Python list |
np.zeros((2, 3)) | 建立全為 0 的 2x3 陣列 | shape: 陣列形狀,如 (rows, cols) |
np.ones((2, 3)) | 建立全為 1 的 2x3 陣列 | 同上 |
np.full((2, 2), 7) | 建立所有值為 7 的 2x2 陣列 | shape: 陣列形狀,fill_value: 欲填入的數值 |
np.eye(3) | 建立 3x3 單位矩陣 | N: 矩陣大小(N x N) |
np.arange(0, 10, 2) | 建立從 0 到 10 間隔為 2 的序列 | start: 起始值,stop: 結束值(不含),step: 步長 |
np.linspace(0, 1, 5) | 在 0 到 1 間平均產生 5 個數 | start, stop, num: 數量 |
np.random.randint(0, 10, size=5) | 隨機產生整數陣列 | low, high: 範圍(含 low,不含 high),size: 數量 |
2. 陣列屬性與操作#
| 方法 | 說明 | 參數用途 |
|---|---|---|
arr.shape | 查看形狀 | 無參數,回傳 tuple |
arr.ndim | 查看維度數 | 無參數,回傳整數 |
arr.size | 總元素數量 | 無參數,回傳整數 |
arr.dtype | 元素型別 | 無參數,回傳型別 |
arr.reshape((3, 2)) | 改變形狀為 3x2 | shape: 新的形狀,總元素數須一致 |
arr.flatten() | 攤平成一維陣列 | 無參數 |
arr.T | 轉置 | 無參數 |
3. 數學運算#
| 方法 | 說明 | 參數用途 |
|---|---|---|
np.add(a, b) / a + b | 加法 | a, b: 陣列或數字,形狀需可對應 |
np.subtract(a, b) / a - b | 減法 | 同上 |
np.multiply(a, b) / a * b | 乘法 | 同上 |
np.divide(a, b) / a / b | 除法 | 同上 |
np.power(a, b) / a ** b | a 的 b 次方 | 同上 |
np.sqrt(a) | 開根號 | a: 陣列或數值 |
np.exp(a) | e 的 a 次方 | 同上 |
np.log(a) | 自然對數 ln(a) | 同上 |
4. 統計函數#
| 方法 | 說明 | 參數用途 |
|---|---|---|
arr.sum() | 總和 | axis: 指定維度(可選),例如 axis=0 沿列加總 |
arr.mean() | 平均值 | 同上 |
arr.std() | 標準差 | 同上 |
arr.var() | 變異數 | 同上 |
arr.min() | 最小值 | 同上 |
arr.max() | 最大值 | 同上 |
arr.argmin() | 最小值索引 | 同上 |
arr.argmax() | 最大值索引 | 同上 |
5. 邏輯與篩選#
| 方法 | 說明 | 參數用途 |
|---|---|---|
arr > 5 | 元素是否大於 5 | 5: 比較條件,回傳布林陣列 |
arr[arr > 5] | 篩選大於 5 的值 | 條件表達式可組合使用 |
np.where(arr > 5, 1, 0) | 條件為真則回傳 1,否則 0 | condition, x, y: 條件為真則取 x 否則取 y |
np.any(arr > 5) | 是否有任一符合條件 | condition: 條件式 |
np.all(arr > 5) | 是否全部符合條件 | 同上 |