人工智能学习笔记 - 编程与工具 - 数据处理与可视化

28 阅读3分钟

人工智能学习笔记 - 编程与工具 - 数据处理与可视化

数据处理与可视化是人工智能与数据科学的基础步骤,主要用于数据清洗、分析、建模前准备以及结果展示。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)