弗兰的悲惨之旅
99.73M · 2026-04-04
而这三大工具库正是核心:
如果说真实世界的数据分析是一条流水线,那么 NumPy 是“底层数学引擎”,Pandas 是“数据 ETL 工具”,而 Scikit-learn 则是“智能分析工厂”。 下面我们就以工程实践为主线,系统讲解三者如何在数据分析与 AI 任务中协作。
NumPy(Numerical Python)是整个数据分析生态的基础,其核心是:
这些机制共同让 Python 在数值计算上获得接近 C 的性能。
如果你用 Python 原生 list 做大量数学运算,会非常慢;而 NumPy 通过内存连续布局实现高效向量操作:
import numpy as np
arr = np.array([1, 2, 3])
print(arr * 3)
输出:
[3 6 9]
这种矢量化特性使数据处理更简单,也更快。
例如,一个形状为 (3,3) 的矩阵加上一个标量:
a = np.ones((3, 3))
b = 5
print(a + b)
广播机制自动扩展维度,无需遍历。 这是机器学习中批数据计算(batch operation)的核心。
np.mean, np.std, np.dot, np.linalgnp.random.rand, np.random.normal例如生成模拟数据:
data = np.random.normal(0, 1, (1000,))
AI 和统计分析常靠这些操作构造训练数据或初步理解分布。
如果说 NumPy 处理的是“矩阵”,那么 Pandas 处理的是“表格”。 它最擅长的是:
在工程中,Pandas 通常承担:
的前半部分。
import pandas as pd
df = pd.DataFrame({
'name': ['A', 'B', 'C'],
'score': [90, 85, 88]
})
实际数据几乎都是“脏数据”,Pandas 能轻松处理:
df.fillna(0)
df.dropna()
df['date'] = pd.to_datetime(df['date'])
df[df['score'] > 80]
df.groupby('class')['score'].mean()
这些操作在商业分析(BI)和模型训练中都非常常见。
Pandas 基于 NumPy,因此很多底层操作还是 NumPy 完成:
df['score_z'] = (df['score'] - df['score'].mean()) / df['score'].std()
这种写法就是 NumPy 风格的公式在 Pandas 上的应用。
Scikit-learn(sklearn)是 Python 最成熟的机器学习库,它提供了:
结构清晰、易于生产环境应用。
几乎所有任务都遵循统一 API:
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = RandomForestClassifier()
model.fit(X_train, y_train)
print(model.score(X_test, y_test))
这就是 sklearn 的强大之处:高度模块化,统一接口风格。
常见操作:
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
from sklearn.preprocessing import OneHotEncoder
from sklearn.feature_selection import SelectKBest
在工业级机器学习项目中,特征工程往往比模型本身更决定性能。
下面展示一个“真实工程”的典型处理流程:
df = pd.read_csv("salary.csv")
df.dropna(inplace=True)
import numpy as np
df['age_norm'] = (df['age'] - np.mean(df['age'])) / np.std(df['age'])
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X = df[['age_norm', 'experience']]
y = df['salary']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LinearRegression()
model.fit(X_train, y_train)
print(model.score(X_test, y_test))
通过这三大工具,你就完成了:
这与企业级 AI 项目的实际结构高度一致。
(1)Pandas 数据清洗(缺失值、重复值、异常值) groupby 聚合 concat / merge 时间序列处理
(2)NumPy 广播机制 ndarray 操作 数学/统计函数 随机数生成
(3)Scikit-learn 分类/回归/聚类模型 特征工程 模型效果评估(AUC、Recall、MSE) 超参数调优(GridSearchCV)
掌握这三者,你基本可以胜任:
数据分析与 AI 是 Python 的“黄金地带”,而 Pandas、NumPy、Scikit-learn 是这一领域的三大基石:
掌握它们,你就拥有了构建数据驱动应用的完整能力体系。