# NumPy 初學者教學 ## 目標 - 了解 NumPy 是什麼 - 學習如何使用 NumPy 進行簡單的數值運算 - 熟悉 NumPy 的基本操作(陣列創建、索引、運算) --- ## 1. NumPy 是什麼? NumPy 是 Python 的一個數值運算library,專門用來處理大型多維陣列與矩陣的運算。它提供了強大的數學函數,能快速有效地進行數學計算。 ### 安裝 NumPy 在開始之前,請確認你已經安裝了 NumPy。你可以在終端機或命令提示符中執行以下指令來安裝: ```bash pip install numpy ``` --- ## 2. 創建 NumPy 陣列 ### 2.1 使用 `np.array()` 創建陣列 ```python import numpy as np # 創建一個一維陣列 arr = np.array([1, 2, 3, 4, 5]) print(arr) ``` ### 2.2 使用 `np.zeros()` 和 `np.ones()` 創建陣列 ```python # 創建一個全是 0 的 2x3 陣列 zeros_array = np.zeros((2, 3)) print(zeros_array) # 創建一個全是 1 的 3x2 陣列 ones_array = np.ones((3, 2)) print(ones_array) ``` ### 2.3 使用 `np.arange()` 和 `np.linspace()` 創建數列 ```python # 創建一個從 0 到 9 的數列 range_array = np.arange(10) print(range_array) # 創建一個從 0 到 1 之間的 5 個等距數值 linspace_array = np.linspace(0, 1, 5) print(linspace_array) ``` --- ## 3. 基本操作 ### 3.1 陣列的形狀 你可以檢查 NumPy 陣列的形狀,並進行轉換。 ```python # 檢查陣列的形狀 print(arr.shape) # 轉換陣列形狀 reshaped_array = arr.reshape(5, 1) print(reshaped_array) ``` ### 3.2 陣列的索引與切片 ```python # 獲取陣列中的特定元素 print(arr[2]) # 獲取第三個元素 # 獲取陣列中的一個範圍 print(arr[1:4]) # 獲取第二到第四個元素 ``` ### 3.3 基本運算 ```python # 陣列加法 arr2 = np.array([5, 4, 3, 2, 1]) result = arr + arr2 print(result) # 陣列的平方 squared = arr ** 2 print(squared) # 陣列的總和 total_sum = np.sum(arr) print(total_sum) ``` --- ## 4. 練習題目 ### 練習題 1: 創建與操作陣列 1. 創建一個從 1 到 9 的數列,並將其形狀變為 3x3 的矩陣。 2. 使用索引獲取矩陣的第二行。 3. 將矩陣中所有的元素平方。 ```python # 提示程式碼 matrix = np.arange(1, 10).reshape(3, 3) print("矩陣:") print(matrix) # 第二行 second_row = matrix[1, :] print("第二行:", second_row) # 元素平方 squared_matrix = matrix ** 2 print("平方後的矩陣:") print(squared_matrix) ``` ### 練習題 2: 陣列的基本運算 1. 創建兩個長度為 5 的陣列 `a` 和 `b`,分別包含隨機的整數。 2. 將這兩個陣列相加,並輸出結果。 3. 計算兩個陣列的乘積。 ```python # 提示程式碼 a = np.random.randint(1, 10, 5) b = np.random.randint(1, 10, 5) print("陣列 a:", a) print("陣列 b:", b) # 陣列相加 sum_ab = a + b print("相加結果:", sum_ab) # 陣列乘積 product_ab = a * b print("乘積結果:", product_ab) ``` --- ## 5. 結語 在這個教學中,你學會了如何使用 NumPy 創建並操作陣列,還進行了一些基本的運算。接下來,你可以探索更多 NumPy 的高級功能,像是矩陣運算與統計分析。 ---