?一、NumPy - 數值計算基礎庫??
??安裝??
pip install numpy
??核心功能示例??
1. 數組創建與運算
import numpy as np# 創建數組
arr = np.array([1, 2, 3, 4])
matrix = np.array([[1, 2], [3, 4]])# 數學運算
print(arr + 1) # [2 3 4 5]
print(matrix @ matrix) # 矩陣乘法 [[7 10] [15 22]]# 統計函數
data = np.array([1, 2, 3, 4, 5])
print(np.mean(data)) # 3.0
print(np.std(data)) # 1.4142135623730951
2. 隨機數與線性代數
# 隨機數
rand_arr = np.random.rand(3, 3) # 3x3隨機矩陣# 線性代數
A = np.array([[1, 2], [3, 4]])
inv_A = np.linalg.inv(A) # 逆矩陣
eigvals = np.linalg.eigvals(A) # 特征值
??二、SciPy - 科學計算工具箱??
??安裝?
pip install scipy
??核心功能示例??
1. 積分與優化
from scipy import integrate, optimize# 定積分
def f(x):return x**2
result, _ = integrate.quad(f, 0, 1) # 0.333...# 函數最小值
result = optimize.minimize(lambda x: (x-3)**2, x0=0)
print(result.x) # [3.]
2. 信號處理與插值
from scipy import signal, interpolate# 生成信號
t = np.linspace(0, 1, 100)
sig = np.sin(2 * np.pi * t)# 濾波
b, a = signal.butter(4, 0.1) # 4階低通濾波器
filtered_sig = signal.filtfilt(b, a, sig)# 插值
x = np.linspace(0, 10, 5)
y = np.sin(x)
f = interpolate.interp1d(x, y, kind='cubic')
print(f(5.5)) # 插值結果
??三、Pandas - 數據分析??
??安裝??
pip install pandas
??核心功能示例??
1. 數據結構與操作
import pandas as pd# 創建DataFrame
data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]}
df = pd.DataFrame(data)# 基礎操作
print(df['Name']) # 選擇列
print(df[df['Age'] > 25]) # 條件篩選
df['Salary'] = [5000, 6000] # 新增列
2. 數據聚合與可視化
# 分組聚合
grouped = df.groupby('Name').mean() # 按姓名分組求均值# 導出數據
df.to_csv('output.csv', index=False)
??四、Matplotlib - 數據可視化??
??安裝??
pip install matplotlib
??核心功能示例??
1. 基礎繪圖
import matplotlib.pyplot as pltx = np.linspace(0, 10, 100)
y = np.sin(x)plt.plot(x, y, label='sin(x)')
plt.xlabel('X軸')
plt.ylabel('Y軸')
plt.legend()
plt.show()
2. 高級圖表
# 散點圖
plt.scatter(x, y, c=y, cmap='viridis')
plt.colorbar() # 顏色條# 子圖
fig, axes = plt.subplots(2, 1)
axes[0].plot(x, y)
axes[1].hist(y, bins=20)
plt.tight_layout()
plt.show()
??五、Scikit-learn - 機器學習??
??安裝??
pip install scikit-learn
??核心功能示例??
1. 分類與回歸
from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression# 生成數據
X, y = make_regression(n_samples=100, n_features=1)# 訓練模型
model = LinearRegression()
model.fit(X, y)# 預測
print(model.predict([[1]]))
2. 聚類與降維
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA# K-Means聚類
X = np.random.rand(100, 2)
kmeans = KMeans(n_clusters=3).fit(X)
print(kmeans.labels_)# PCA降維
pca = PCA(n_components=1)
X_reduced = pca.fit_transform(X)
??六、其他實用庫??
1. ??SymPy?? - 符號計算
from sympy import symbols, diffx = symbols('x')
f = x**2 + 2*x
print(diff(f, x)) # 導數: 2*x + 2
2. ??Statsmodels?? - 統計建模
import statsmodels.api as sm# 線性回歸
X = sm.add_constant(X) # 添加截距項
model = sm.OLS(y, X).fit()
print(model.summary())
??總結??
庫名 | 核心用途 | 示例場景 |
---|---|---|
NumPy | 數值計算基礎 | 數組運算、線性代數 |
SciPy | 科學計算擴展 | 積分、優化、信號處理 |
Pandas | 數據分析 | 數據清洗、聚合、導出 |
Matplotlib | 數據可視化 | 折線圖、散點圖、子圖 |
Scikit-learn | 機器學習 | 分類、回歸、聚類 |
SymPy | 符號計算 | 微積分、方程求解 |
Statsmodels | 統計建模 | 回歸分析、假設檢驗 |