(Numpy+Pandas+Matplotlib),全程用pip安装,代码简洁可直接运行,聚焦「数组计算 + 表格处理 + 折线图 / 柱状图绘制」,用 Pandas 处理 Excel/CSV 数据,用 Matplotlib 画数据图表。

一、 前置准备:pip 安装三个数据工具

用 Python 自带的pip安装,推荐使用国内镜像源加快下载速度,避免超时失败。

步骤 1:打开 Windows cmd(管理员身份更佳)

Win+R 输入cmd,回车打开命令提示符。

步骤 2:逐行输入安装命令(复制即可)

# 1. 安装Numpy(数组计算)
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

# 2. 安装Pandas(表格数据处理)
pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple

# 3. 安装Matplotlib(数据可视化)
pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple

# 4. 补充:Pandas读取Excel需要额外安装openpyxl(小白必备)
pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple

步骤 3:验证安装成功

cmd 中输入以下命令,无报错即说明成功(无需显示版本号,能导入即可):

python

# 依次输入python → 进入Python交互环境
python
# 导入三个库,无报错即成功
import numpy
import pandas
import matplotlib
# 退出Python交互环境
exit()

小白避坑

  1. 安装报错「Permission denied」:以管理员身份打开 cmd,重新执行安装命令。
  2. 提示 pip 版本过低:先升级 pip,命令:python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

二、 Numpy:数组计算(AI 数据运算的基础)

核心目标

理解 Numpy 数组(加强版列表),掌握简单的数组创建、批量运算、统计计算,对应 AI 场景中的 “数据预处理、矩阵运算”。

1. 小白通俗理解

Numpy 数组 = “提速版 Python 列表”,普通列表只能逐个元素运算(比如[1,2]+[3,4]是拼接,不是加法),而 Numpy 数组支持批量运算[1,2]+[3,4]直接得到[4,6]),运算速度更快,是 AI 中处理大量数据的必备工具。

2. 核心基础用法(代码可直接复制运行)

创建numpy_demo.py文件,粘贴以下代码,用python numpy_demo.py运行。

python

# 1. 导入Numpy,简写为np(小白固定写法,无需修改)
import numpy as np

# 2. 创建Numpy数组(两种常用方式)
# 方式1:从Python列表转换(最易上手)
arr1 = np.array([1, 2, 3, 4, 5])  # 一维数组(类似普通列表)
arr2 = np.array([[1, 2, 3], [4, 5, 6]])  # 二维数组(类似矩阵,2行3列)

print("=== 一维数组 ===")
print(arr1)
print(f"数组形状:{arr1.shape}")  # 查看数组形状(元素个数)

print("\n=== 二维数组 ===")
print(arr2)
print(f"数组形状:{arr2.shape}")  # 查看数组形状(行×列)

# 3. 批量运算(核心优势,无需循环)
print("\n=== 数组批量运算 ===")
arr1_add = arr1 + 10  # 每个元素都加10
arr1_mul = arr1 * 2   # 每个元素都乘2
arr2_sum = arr2 + arr2  # 二维数组对应元素相加
print(f"arr1每个元素加10:{arr1_add}")
print(f"arr1每个元素乘2:{arr1_mul}")
print(f"arr2自身相加:\n{arr2_sum}")

# 4. 统计计算(AI中常用,求均值、最大值、总和)
print("\n=== 数组统计计算 ===")
print(f"arr1的总和:{np.sum(arr1)}")
print(f"arr1的平均值:{np.mean(arr1):.2f}")
print(f"arr2的最大值:{np.max(arr2)}")
print(f"arr2每一列的平均值:{np.mean(arr2, axis=0)}")  # axis=0:按列计算

3. 运行结果

=== 一维数组 ===
[1 2 3 4 5]
数组形状:(5,)

=== 二维数组 ===
[[1 2 3]
 [4 5 6]]
数组形状:(2, 3)

=== 数组批量运算 ===
arr1每个元素加10:[11 12 13 14 15]
arr1每个元素乘2:[ 2  4  6  8 10]
arr2自身相加:
[[ 2  4  6]
 [ 8 10 12]]

=== 数组统计计算 ===
arr1的总和:15
arr1的平均值:3.00
arr2的最大值:6
arr2每一列的平均值:[2.5 3.5 4.5]

4. AI 场景核心用途

  1. 数据缩放:将 AI 模型的输入数据(比如房价、像素值)批量缩放到 0-1 范围。
  2. 误差计算:批量计算模型预测值与真实值的差值,求平均误差。
  3. 矩阵运算:AI 模型中的权重参数更新,底层依赖 Numpy 数组运算。

三、 Pandas:表格数据处理(Python 版 Excel)

核心目标

掌握 Pandas 读取 / 创建表格、筛选数据、统计分析,能处理 Excel/CSV 格式数据,对应大纲中 “学生成绩统计可视化” 项目。

1. 小白通俗理解

Pandas = “Python 里的 Excel/CSV 工具”,无需打开 Excel,用代码就能实现 “读取表格、筛选数据、计算平均分、去重” 等操作,处理大量数据时比 Excel 更快更高效。

2. 核心基础用法(代码可直接复制运行)

创建pandas_demo.py文件,粘贴以下代码,用python pandas_demo.py运行。

python

# 1. 导入Pandas,简写为pd(小白固定写法,无需修改)
import pandas as pd

# 2. 创建表格数据(DataFrame,Pandas的核心数据结构,类似Excel表格)
# 模拟学生成绩表格(姓名、语文、数学、英语)
score_data = {
    "姓名": ["小明", "小红", "小刚", "小丽", "小亮"],
    "语文": [85, 92, 78, 95, 88],
    "数学": [90, 86, 93, 89, 96],
    "英语": [79, 88, 85, 90, 82]
}
# 转换为Pandas表格(DataFrame)
df = pd.DataFrame(score_data)

print("=== 原始学生成绩表格 ===")
print(df)  # 打印完整表格

# 3. 基础表格操作(查看、筛选、统计)
print("\n=== 表格基础操作 ===")
# 查看前3行数据(避免数据过多时刷屏)
print("前3行数据:")
print(df.head(3))

# 筛选:语文成绩≥90分的学生
high_chinese = df[df["语文"] >= 90]
print("\n语文≥90分的学生:")
print(high_chinese)

# 统计:计算各科平均分、最高分
subject_mean = df[["语文", "数学", "英语"]].mean()  # 各科平均分
subject_max = df[["语文", "数学", "英语"]].max()    # 各科最高分
print("\n各科平均分:")
print(subject_mean.round(2))  # 保留2位小数
print("\n各科最高分:")
print(subject_max)

# 4. 保存表格到本地(Excel格式,方便用Excel打开查看)
df.to_excel("学生成绩表.xlsx", index=False)
print("\n表格已保存为「学生成绩表.xlsx」,可在当前文件夹下找到!")

3. 运行结果

=== 原始学生成绩表格 ===
   姓名  语文  数学  英语
0  小明  85  90  79
1  小红  92  86  88
2  小刚  78  93  85
3  小丽  95  89  90
4  小亮  88  96  82

=== 表格基础操作 ===
前3行数据:
   姓名  语文  数学  英语
0  小明  85  90  79
1  小红  92  86  88
2  小刚  78  93  85

语文≥90分的学生:
   姓名  语文  数学  英语
1  小红  92  86  88
3  小丽  95  89  90

各科平均分:
语文    87.60
数学    90.80
英语    84.80
dtype: float64

各科最高分:
语文    95
数学    96
英语    90
dtype: int64

表格已保存为「学生成绩表.xlsx」,可在当前文件夹下找到!

4. 小白额外操作

运行完成后,在pandas_demo.py所在文件夹下,会出现学生成绩表.xlsx文件,双击可用 Excel 打开,和代码运行结果一致。

5. AI 场景核心用途

  1. 数据清洗:处理 AI 数据集的缺失值、重复值(比如删除无意义的数据)。
  2. 特征提取:从表格数据中筛选出模型需要的特征(比如从用户数据中提取 “年龄”“消费金额”)。
  3. 数据统计:分析数据集的分布(比如正负面样本的占比),为模型训练做准备。

四、 Matplotlib:数据可视化(画折线图 / 柱状图)

核心目标

掌握 Matplotlib 绘制折线图、柱状图,解决中文乱码问题,让数据更直观,对应大纲中 “学生成绩分布图表” 的学习目标。

1. 小白通俗理解

Matplotlib = “Python 里的画图工具”,能把 Pandas 处理后的表格数据,转换成 “折线图(看趋势)、柱状图(比大小)”,比数字更易理解。

2. 核心基础用法(先解决中文乱码,再画图)

创建matplotlib_demo.py文件,粘贴以下代码,用python matplotlib_demo.py运行。

python

# 1. 导入Matplotlib的绘图模块,简写为plt(小白固定写法)
import matplotlib.pyplot as plt
import pandas as pd

# 2. 解决中文乱码问题(小白必配,否则中文显示为方框)
plt.rcParams["font.sans-serif"] = ["SimHei"]  # 设置字体为“黑体”,支持中文
plt.rcParams["axes.unicode_minus"] = False    # 解决负号显示为方框的问题

# 3. 准备数据(用Pandas读取之前创建的学生成绩表)
df = pd.read_excel("学生成绩表.xlsx", engine="openpyxl")
names = df["姓名"]
chinese_scores = df["语文"]
math_scores = df["数学"]
subjects = ["语文", "数学", "英语"]
subject_means = df[subjects].mean()  # 各科平均分

# 4. 绘制折线图(查看单个学生成绩趋势,这里以小明为例)
print("=== 正在绘制折线图 ===")
plt.figure(figsize=(8, 4))  # 设置图表大小(宽×高)
# 绘制小明的成绩折线图
xiao_ming_scores = [df.loc[0, "语文"], df.loc[0, "数学"], df.loc[0, "英语"]]
plt.plot(subjects, xiao_ming_scores, marker="o", color="red", label="小明成绩")
# 添加图表标题和坐标轴标签
plt.title("小明各科成绩折线图")
plt.xlabel("科目")
plt.ylabel("成绩")
plt.grid(True, alpha=0.3)  # 添加网格线,更易查看
plt.legend()  # 显示图例
plt.savefig("小明成绩折线图.png")  # 保存图表到本地
plt.show()  # 弹出图表窗口

# 5. 绘制柱状图(对比各科平均分,更直观)
print("=== 正在绘制柱状图 ===")
plt.figure(figsize=(8, 4))
# 绘制各科平均分柱状图
plt.bar(subjects, subject_means, color=["blue", "green", "orange"], width=0.5)
# 给每个柱子添加数值标签(显示平均分)
for i, mean_score in enumerate(subject_means):
    plt.text(i, mean_score + 1, f"{mean_score:.2f}", ha="center")
# 添加图表标题和坐标轴标签
plt.title("各科平均分柱状图")
plt.xlabel("科目")
plt.ylabel("平均成绩")
plt.ylim(0, 100)  # 设置y轴范围(0-100,符合成绩逻辑)
plt.savefig("各科平均分柱状图.png")
plt.show()

print("图表已保存为「小明成绩折线图.png」和「各科平均分柱状图.png」!")

3. 运行结果

  1. 弹出两个图表窗口:分别显示 “小明各科成绩折线图”(红色带点折线)、“各科平均分柱状图”(三色柱子,带数值标签)。
  2. 在当前文件夹下,生成两个图片文件,可双击打开查看,永久保存。
  3. 柱状图中,每个柱子上方显示具体平均分,直观看到 “数学平均分最高”。
    # 出现以下报错提示:
    
    === 正在绘制折线图 ===
    Traceback (most recent call last):
      File "D:\Desktop\‎\编程与工具基础\数据工具.py", line 130, in <module>
        plt.show()  # 弹出图表窗口
        ^^^^^^^^^^
      File "D:\soft\python3.12\Lib\site-packages\matplotlib\pyplot.py", line 613, in show
        return _get_backend_mod().show(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "D:\soft\PyCharm 2024.1\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py", line 41, in __call__
        manager.show(**kwargs)
      File "D:\soft\PyCharm 2024.1\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py", line 144, in show
        self.canvas.show()
      File "D:\soft\PyCharm 2024.1\plugins\python\helpers\pycharm_matplotlib_backend\backend_interagg.py", line 85, in show
        buffer = self.tostring_rgb()
                 ^^^^^^^^^^^^^^^^^
    AttributeError: 'FigureCanvasInterAgg' object has no attribute 'tostring_rgb'. Did you mean: 'tostring_argb'?
    
    进程已结束,退出代码为 1
    ---------------------------------------------------------------------------------------
    
    #  报错原因:PyCharm 的「Matplotlib 工具窗口后端」与你安装的 Matplotlib(3.10.8)版本不兼容,plt.show()触发了后端的不兼容方法调用。
    ---------------------------------------------------------------------------------------
    #  解决方案:
    关闭 PyCharm 的「Matplotlib 工具窗口绘图」(无需改代码,最便捷)
    核心思路:让 Matplotlib 使用自身默认的绘图后端,而非 PyCharm 的内置后端,避免版本兼容问题。步骤如下:
    打开 PyCharm 的设置窗口:
    Windows:顶部菜单栏 File → Settings(快捷键 Ctrl + Alt + S)
    中文界面:文件 → 设置
    在设置窗口左侧,依次展开 Tools → Python Scientific(中文界面:工具 → Python 图)
    在右侧窗口中,取消勾选「Show plots in tool window」(中文界面:「在工具窗口中显示绘图」)
    点击底部 Apply → OK 保存设置
    重新运行你的代码,此时plt.show()会弹出独立的 Matplotlib 图表窗口,不再报错。

4. 小白避坑

  1. 中文乱码:必须添加plt.rcParams两行配置,否则中文显示为方框。
  2. 图表无法保存:确保脚本所在文件夹有写入权限,无需管理员身份。
  3. 柱子数值标签错位:plt.text()中的ha="center"确保数值居中显示。

5. AI 场景核心用途

  1. 模型评估:绘制模型 “准确率 / 损失值” 折线图,查看模型训练趋势(损失值逐渐下降说明训练有效)。
  2. 数据分布:绘制数据集的特征分布柱状图(比如不同年龄段用户的占比)。
  3. 结果展示:将 AI 模型的预测结果可视化,更易向他人展示。

五、 综合实操:三个工具协同工作(完整流程)

核心逻辑

Numpy(数组运算)→ Pandas(表格处理)→ Matplotlib(可视化),这是 AI 数据预处理的标准流程,小白掌握后可直接用于后续项目。

  1. Numpy:批量处理原始数据,完成缩放 / 统计。
  2. Pandas:将处理后的数据转换成表格,清洗 / 筛选。
  3. Matplotlib:将表格数据可视化,生成直观图表。

总结

  1. 安装:无 Anaconda 时用pip安装三个工具,搭配国内镜像源,补充openpyxl支持 Excel 读取。
  2. Numpy:核心是批量数组运算,简化循环,提升效率,掌握np.array()/np.mean()即可入门。
  3. Pandas:核心是DataFrame 表格处理,实现 “读取 - 筛选 - 统计 - 保存”,对应 Excel 操作,掌握df[df[]]筛选、df.mean()统计即可。
  4. Matplotlib:核心是数据可视化,先解决中文乱码,再掌握plt.plot()(折线图)、plt.bar()(柱状图),添加标签让图表更完整。
  5. 三个工具协同工作,是 AI 数据预处理的基础,后续项目中会频繁用到,先掌握基础用法,无需深入复杂功能。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐