一、NumPy 簡介
NumPy(Numerical Python)是 Python 中用于進行科學計算的基礎庫之一。它提供了高效的多維數組對象 ndarray
,以及用于數組操作、線性代數、傅里葉變換、隨機數等豐富的函數。
二、安裝 NumPy
2.1 使用 pip 安裝(推薦)
pip install numpy
2.2 使用 Anaconda 安裝(科學計算推薦)
conda install numpy
2.3 驗證安裝
import numpy as np
print(np.__version__)
三、NumPy 基礎用法
3.1 創建數組
import numpy as npa = np.array([1, 2, 3])
b = np.array([[1, 2], [3, 4]])
3.2 數組屬性
print(a.shape) # (3,)
print(b.shape) # (2, 2)
print(a.dtype) # int64(或系統對應類型)
四、常用函數和操作
4.1 數組初始化
np.zeros((2, 3)) # 全 0 數組
np.ones((2, 3)) # 全 1 數組
np.eye(3) # 單位矩陣
np.arange(0, 10, 2) # 等差序列
np.linspace(0, 1, 5) # 等間隔序列
4.2 數組運算
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])print(a + b)
print(a * b)
print(np.dot(a, b)) # 點積
五、索引與切片
a = np.array([[1, 2, 3], [4, 5, 6]])print(a[0, 1]) # 訪問第 0 行第 1 列
print(a[:, 1]) # 所有行的第 1 列
print(a[1, :]) # 第 1 行所有列
六、廣播機制
廣播允許不同形狀的數組進行運算:
a = np.array([[1], [2], [3]])
b = np.array([10, 20, 30])
print(a + b)
七、常用數學函數
np.sum(a)
np.mean(a)
np.max(a)
np.min(a)
np.std(a)
八、線性代數操作
from numpy.linalg import inv, eiga = np.array([[1, 2], [3, 4]])
print(inv(a)) # 求逆矩陣
print(eig(a)) # 求特征值和特征向量
九、隨機模塊
np.random.rand(2, 3) # 均勻分布
np.random.randn(2, 3) # 正態分布
np.random.randint(0, 10) # 指定范圍整數
np.random.seed(42) # 設置隨機種子
十、常見問題
Q1: 安裝報錯 No module named 'numpy'
?
請確認是否在正確的 Python 環境中運行,或者重新執行 pip install numpy
。
Q2: 為什么 NumPy 運算比普通 Python 列表快?
NumPy 使用 C 語言實現底層數組結構,運算為向量化操作,性能優于 Python 原生循環。
十一、學習資源推薦
- NumPy 官方文檔
- 菜鳥教程 NumPy 教程
- 廖雪峰 NumPy 教程
- 《利用 Python 進行數據分析》作者:Wes McKinney
本文由“小奇Java面試”原創發布,轉載請注明出處。
可以搜索【小奇JAVA面試】第一時間閱讀,回復【資料】獲取福利,回復【項目】獲取項目源碼,回復【簡歷模板】獲取簡歷模板,回復【學習路線圖】獲取學習路線圖。