人工智能学习笔记 - 编程与工具 - 数据处理与可视化
数据处理与可视化是人工智能与数据科学的基础步骤,主要用于数据清洗、分析、建模前准备以及结果展示。Python 中最常用的工具包括 NumPy、pandas 和 matplotlib / seaborn。
NumPy:数值计算与数组基础
NumPy(Numerical Python)是 Python 中进行高性能数值计算的基础库,核心是多维数组和向量化运算。
核心数据结构:ndarray
import numpy as np
a = np.array([1, 2, 3]) # 创建一维数组
b = np.array([[1, 2], [3, 4]]) # 创建二维数组(矩阵)
-
np.array:将 Python 列表转换为 NumPy 数组 -
ndarray 特点:
- 元素类型统一
- 支持高效的向量/矩阵运算
- 是 pandas、PyTorch、TensorFlow 的底层数据结构
常用数组创建函数
np.zeros((2, 3)) # 创建全 0 数组,形状为 (2,3)
np.ones((3, 3)) # 创建全 1 数组
np.arange(0, 10, 2) # 创建等差序列 [0,2,4,6,8)
np.linspace(0, 1, 5) # 在区间内生成等距数字
数学与统计运算
np.mean(a) # 计算均值
np.std(a) # 计算标准差
np.sum(a) # 求和
np.dot(a, a) # 向量点积
- NumPy 的运算默认是逐元素运算
- 支持 广播机制(Broadcasting) ,自动扩展维度参与计算
pandas:结构化数据处理
pandas 用于处理表格型(结构化)数据,是数据清洗、分析和特征工程的核心工具。
核心数据结构
- Series:一维数据 + 索引
- DataFrame:二维表格(行 + 列)
import pandas as pd
df = pd.DataFrame({
"name": ["Alice", "Bob"],
"age": [24, 30]
}) # 创建 DataFrame
数据读取
pd.read_csv("data.csv") # 读取 CSV 文件
pd.read_excel("data.xlsx") # 读取 Excel 文件
查看与理解数据
df.head() # 查看前几行数据
df.info() # 查看数据类型、缺失值情况
df.describe() # 查看数值列的统计信息
数据选择与过滤
df["age"] # 选取一列
df[df["age"] > 25] # 条件过滤
df.loc[0, "name"] # 按标签选择
df.iloc[0, 1] # 按位置选择
数据清洗
df.dropna() # 删除缺失值
df.fillna(0) # 填充缺失值
df.drop_duplicates() # 去重
分组与聚合
df.groupby("category").mean() # 按分类分组并求均值
groupby是特征统计和特征工程中非常常用的操作
matplotlib:基础绘图库
matplotlib 是 Python 最底层、最通用的绘图库,提供高度可控的图形绘制能力。
基本绘图示例
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
plt.plot(x, y) # 绘制折线图
plt.xlabel("x") # 设置 x 轴标签
plt.ylabel("y") # 设置 y 轴标签
plt.title("Line Plot") # 设置标题
plt.show() # 显示图像
常见图表类型
plt.plot:折线图plt.scatter:散点图plt.bar:柱状图plt.hist:直方图plt.boxplot:箱线图
seaborn:统计可视化工具
seaborn 基于 matplotlib,提供更高层、更美观、统计友好的可视化接口。
示例
import seaborn as sns
df = sns.load_dataset("tips")
# load_dataset:加载 seaborn 内置示例数据集
sns.scatterplot(
data=df,
x="total_bill",
y="tip",
hue="sex"
)
# scatterplot:绘制散点图
# hue:按分类变量区分颜色
常用图表
- 分布分析:
histplot,kdeplot - 关系分析:
scatterplot,lineplot - 分类分析:
boxplot,violinplot - 相关性分析:
heatmap
工具关系总结
| 工具 | 核心作用 | 使用场景 |
|---|---|---|
| NumPy | 数值与矩阵计算 | 底层计算、模型实现 |
| pandas | 表格数据处理 | 数据清洗、特征工程 |
| matplotlib | 基础绘图 | 精细控制图形 |
| seaborn | 统计可视化 | 探索性数据分析(EDA) |