3. 数据准备:Python 环境搭建

在开始赔付率尖峰识别与 PSI 监控实战之前,必须搭建一个稳定、可复现的 Python 数据科学环境。本章将指导你完成 pandas、numpy、matplotlib、scipy 四大核心库的安装与验证,确保后续所有代码能够顺畅运行。

3.1 环境概览与版本要求

本课程基于 Python 3.8+ 开发,推荐使用 Python 3.10 或 3.11 以获得最佳兼容性。以下表格列出了各库的最低版本及核心用途:

库名称 最低版本 核心用途 安装命令
pandas 1.5.0 数据读取、清洗、聚合、时间序列处理 pip install pandas
numpy 1.24.0 数值计算、数组运算、统计函数 pip install numpy
matplotlib 3.7.0 折线图、柱状图、尖峰标注、PSI 可视化 pip install matplotlib
scipy 1.10.0 统计分布、假设检验、PSI 计算辅助 pip install scipy
💡 提示: 如果你使用 Anaconda 发行版,pandas、numpy、matplotlib、scipy 通常已预装。建议在课程专用虚拟环境中重新安装,避免版本冲突。

3.2 虚拟环境创建(推荐)

为避免不同项目间的依赖冲突,强烈建议为本课程创建独立的虚拟环境。以下是基于 venv 和 conda 的两种方式:

方式一:使用 venv(Python 内置)

# 创建虚拟环境
python -m venv loss_psi_env

# 激活环境(Windows)
loss_psi_env\Scripts\activate

# 激活环境(macOS/Linux)
source loss_psi_env/bin/activate

方式二:使用 conda(Anaconda 用户)

# 创建环境并指定 Python 版本
conda create -n loss_psi_env python=3.10

# 激活环境
conda activate loss_psi_env

3.3 核心库安装步骤

激活虚拟环境后,依次执行以下命令安装所需库。建议使用国内镜像源加速下载:

# 安装 numpy(基础数值计算)
pip install numpy==1.24.3

# 安装 pandas(数据处理核心)
pip install pandas==1.5.3

# 安装 matplotlib(可视化)
pip install matplotlib==3.7.1

# 安装 scipy(统计与科学计算)
pip install scipy==1.10.1

# 可选:安装 jupyter notebook 用于交互式学习
pip install jupyter notebook
📌 关键说明: 上述版本号经过课程团队测试,与后续章节的赔付率尖峰检测算法、PSI 监控代码完全兼容。如果你使用更高版本,请留意 API 变更公告。

3.4 安装验证与版本检查

安装完成后,通过以下 Python 脚本验证各库是否成功导入,并打印版本号:

import numpy as np
import pandas as pd
import matplotlib as mpl
import scipy as sp

print("numpy 版本:", np.__version__)
print("pandas 版本:", pd.__version__)
print("matplotlib 版本:", mpl.__version__)
print("scipy 版本:", sp.__version__)

# 快速功能测试:创建一个简单的 Series
test_series = pd.Series([1.2, 3.4, 5.6], name="赔付率测试")
print("\npandas 功能测试通过:", test_series.mean())

预期输出示例:

numpy 版本: 1.24.3
pandas 版本: 1.5.3
matplotlib 版本: 3.7.1
scipy 版本: 1.10.1

pandas 功能测试通过: 3.4000000000000004
⚠️ 常见问题: 如果出现 ModuleNotFoundError,请检查是否在正确的虚拟环境中执行安装。如果版本号低于最低要求,请使用 pip install --upgrade 库名 升级。

3.5 环境架构与数据流

下图展示了本课程中四个核心库的协作关系与数据流向,帮助你理解每个库在赔付率尖峰识别与 PSI 监控中的角色:

赔付率尖峰识别与 PSI 监控 — 环境架构图 原始赔付数据 CSV / Excel / 数据库 numpy 数值计算 / 数组运算 pandas 数据清洗 / 聚合 / 时间序列 scipy 统计分布 / 假设检验 matplotlib 可视化 / 尖峰标注 📐 数据流向:原始数据 → numpy/pandas 预处理 → scipy 统计检验 → matplotlib 可视化输出 虚线表示 scipy 的统计结果可辅助 matplotlib 进行显著性标注

3.6 常见安装问题与解决方案

根据课程内测数据,以下三个问题出现频率最高,请提前了解应对方法:

  • 问题 1:pip 安装速度慢或超时
    解决方案:使用国内镜像源,例如 pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 问题 2:matplotlib 中文显示为方框
    解决方案:安装中文字体并设置参数,后续章节会提供完整的中文显示配置代码
  • 问题 3:scipy 安装失败(Windows 环境)
    解决方案:升级 pip 至最新版 python -m pip install --upgrade pip,然后重试安装

3.7 环境就绪检查清单

完成上述步骤后,请逐项核对以下清单,确保环境完全就绪:

检查项 验证方法 通过标准
Python 版本 python --version ≥ 3.8
虚拟环境激活 终端提示符显示环境名称 显示 (loss_psi_env)
numpy 导入 import numpy as np 无报错
pandas 导入 import pandas as pd 无报错
matplotlib 导入 import matplotlib.pyplot as plt 无报错
scipy 导入 from scipy import stats 无报错
版本符合要求 运行 3.4 节验证脚本 版本号 ≥ 最低版本
✅ 完成标志: 当上述 7 项检查全部通过时,你的 Python 环境已完全满足《赔付率尖峰识别与 PSI 监控实战》课程的要求。接下来,我们将进入第 4 章,开始加载真实的赔付率数据集并进行初步探索。