4. Python 环境搭建:Anaconda 安装、Jupyter Notebook 配置与 pandas 导入
在进行采购支出分析与合同符合率排查之前,必须搭建稳定、可复用的 Python 数据分析环境。本章将引导你完成从零开始的工具链部署,确保后续所有代码与模型能够顺畅运行。
4.1 为什么选择 Anaconda + Jupyter Notebook + pandas
采购数据分析涉及大量表格合并、字段清洗、异常值检测与可视化输出。以下工具组合是业界公认的高效起点:
| 组件 | 作用 | 为什么适合采购审计 |
|---|---|---|
| Anaconda | Python 发行版 + 包管理器 | 预装 300+ 数据科学库,避免逐个安装的依赖冲突 |
| Jupyter Notebook | 交互式编程环境 | 支持分步执行、即时查看中间表与图表,适合审计逻辑逐段验证 |
| pandas | 数据处理核心库 | 提供 DataFrame 结构,直接对应采购订单表、合同台账、发票明细 |
审计提示: 在合同符合率排查中,超过 80% 的数据清洗与匹配工作依赖 pandas。环境搭建的稳定性直接影响后续分析效率,建议在专用工作机上完成安装,避免与日常办公软件冲突。
4.2 Anaconda 安装步骤
Anaconda 提供跨平台安装包,以下以 Windows 系统为例,macOS/Linux 操作逻辑一致。
- 下载安装包:访问 Anaconda 官网(anaconda.com),选择 Python 3.9+ 版本的 Individual Edition 安装包。
- 运行安装程序:右键以管理员身份运行,点击 Next。
- 选择安装路径:建议使用默认路径(如
C:\ProgramData\Anaconda3),避免路径含中文或空格。 - 关键选项:勾选 "Add Anaconda3 to my PATH environment variable"(方便命令行调用),以及 "Register Anaconda3 as my default Python"。
- 完成安装:等待进度条走完,点击 Finish。
常见踩坑: 如果安装后无法在命令行输入
python 识别,请手动检查系统环境变量 Path 中是否包含 ...\Anaconda3 和 ...\Anaconda3\Scripts。若缺失,手动添加后重启终端。
4.3 Jupyter Notebook 配置与启动
安装 Anaconda 后,Jupyter Notebook 已自动集成。推荐通过以下两种方式启动:
- 方式一(推荐):在开始菜单找到 Anaconda Navigator,点击 Launch 按钮下的 Jupyter Notebook。
- 方式二:打开命令行(cmd 或 PowerShell),输入
jupyter notebook回车,浏览器自动打开工作界面。
首次启动后,建议进行以下配置以提升采购分析效率:
| 配置项 | 操作 | 目的 |
|---|---|---|
| 默认工作目录 | 修改 jupyter_notebook_config.py 中的 c.NotebookApp.notebook_dir |
统一存放采购数据文件,避免每次切换路径 |
| 自动保存间隔 | 设置 c.NotebookApp.autosave_interval = 60 |
防止长时间分析时意外丢失进度 |
| 代码补全 | 安装扩展 jupyter_contrib_nbextensions 并启用 Hinterland |
加速 pandas 函数与字段名输入 |
效率技巧: 在 Jupyter Notebook 中按
Shift + Enter 执行当前单元格并自动创建新单元格;按 Tab 键触发代码补全与对象方法提示,这对 pandas 链式操作尤其有用。
4.4 pandas 库安装与导入验证
Anaconda 已预装 pandas,但建议在项目开始时显式验证版本并更新至最新稳定版。
安装/更新命令(在 Jupyter Notebook 单元格或命令行执行):
# 在 Jupyter Notebook 中执行(推荐)
!pip install pandas --upgrade
# 或在命令行中执行
pip install pandas --upgrade
导入与版本验证:
import pandas as pd
print("pandas 版本:", pd.__version__)
# 快速测试:创建一个采购订单示例 DataFrame
df_test = pd.DataFrame({
"订单号": ["PO-001", "PO-002", "PO-003"],
"供应商": ["A 公司", "B 公司", "C 公司"],
"合同金额": [150000, 230000, 98000],
"实际付款": [150000, 225000, 98000]
})
print(df_test)
# 检查合同符合率(实际付款 / 合同金额)
df_test["符合率"] = df_test["实际付款"] / df_test["合同金额"]
print("\n合同符合率计算测试:")
print(df_test[["订单号", "符合率"]])
若输出无报错且正确显示表格与计算结果,则环境搭建成功。
审计小实验: 上述代码中,B 公司合同金额 230,000 元,实际付款 225,000 元,符合率约 97.8%。在真实审计中,此类偏差需进一步排查是否存在未达折扣、扣款或超付风险。pandas 的向量化计算让批量检查变得即时可见。
4.5 环境搭建全流程总览
以下 SVG 图展示了从安装到验证的完整链路,帮助你建立全局视角:
4.6 环境验证清单
完成上述步骤后,使用以下清单逐项确认,确保后续课程不因环境问题中断:
| 检查项 | 验证方法 | 预期结果 |
|---|---|---|
| Anaconda 安装 | 命令行输入 conda --version |
显示版本号如 conda 23.7.4 |
| Jupyter 启动 | 命令行输入 jupyter notebook |
浏览器自动打开 Notebook 仪表盘 |
| pandas 导入 | 在 Notebook 中执行 import pandas as pd |
无报错,光标进入下一行 |
| DataFrame 创建 | 执行 pd.DataFrame({"测试列": [1,2,3]}) |
输出 3 行 1 列的表格 |
| 文件读写 | 执行 pd.read_csv("test.csv")(需先准备测试文件) |
正确读取 CSV 内容 |