Python 数据建模与分析项目实战预备 Day 4 - EDA(探索性数据分析)与可视化

✅ 今日目标

  • 使用 Pandas + Matplotlib/Seaborn 对简历数据进行探索性分析
  • 分析不同字段与目标变量的相关性
  • 通过可视化呈现简历筛选的潜在规律

🧾 一、建议分析内容

🔹 分类字段分析

字段 图表建议 说明
degree 柱状图(分组通过率) 分析学历与通过率关系
university_type 条形图 是否为双一流影响筛选?

🔹 数值字段分析

字段 图表建议 说明
work_years 箱型图 / 小提琴图 工龄 vs 通过率分布
project_count, desc_len 散点图 项目数量/质量是否有利筛选

🔹 多变量交叉分析

  • 使用 hue="pass_screening" 对比不同特征组合
  • 相关系数热力图 sns.heatmap(df.corr())

📦 所需工具

python 复制代码
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

✏️ 今日练习任务

编写 eda_visualize.py 实现以下内容:

  • 读取原始数据 resume_data.csv

  • 绘制多个字段与通过率之间的图表

  • 可输出为本地图片或显示图形窗口

    python 复制代码
    # eda_visualize.py - 简历数据可视化分析脚本
    
    import pandas as pd
    import seaborn as sns
    import matplotlib.pyplot as plt
    
    plt.rcParams['font.family'] = 'Arial Unicode MS'  # Mac 用户可用
    plt.rcParams['axes.unicode_minus'] = False
    
    # 设置风格
    sns.set(style="whitegrid")
    
    # 读取数据
    df = pd.read_csv("./data/resume_data.csv")
    
    # 设置字体显示中文(可选)
    plt.rcParams['font.family'] = ['Arial Unicode MS']  # macOS
    # plt.rcParams['font.sans-serif'] = ['SimHei']  # Windows
    # plt.rcParams['axes.unicode_minus'] = False
    
    # 学历 vs 通过率
    plt.figure(figsize=(6, 4))
    sns.barplot(x="degree", y="pass_screening", data=df)
    plt.title("学历 vs 简历通过率")
    plt.savefig("plot_degree_pass.png")
    
    # 学校类型 vs 通过率
    plt.figure(figsize=(6, 4))
    sns.barplot(x="university_type", y="pass_screening", data=df)
    plt.title("学校类型 vs 简历通过率")
    plt.savefig("plot_univ_pass.png")
    
    # 工龄分布对通过率影响
    plt.figure(figsize=(6, 4))
    sns.boxplot(x="pass_screening", y="work_years", data=df)
    plt.title("工龄 vs 简历通过情况")
    plt.savefig("plot_work_years_pass.png")
    
    # 项目描述长度 vs 筛选通过(散点图)
    plt.figure(figsize=(6, 4))
    sns.scatterplot(x="project_desc_len", y="project_count", hue="pass_screening", data=df)
    plt.title("项目描述长度 & 数量 vs 筛选")
    plt.savefig("plot_project_scatter.png")
    
    # 相关系数热力图
    plt.figure(figsize=(10, 6))
    corr = df.corr(numeric_only=True)
    sns.heatmap(corr, annot=True, cmap="YlGnBu")
    plt.title("字段相关系数热力图")
    plt.savefig("plot_corr_heatmap.png")
    
    print("✅ 图表已生成并保存为 PNG 文件。")





相关推荐
第九序言T3 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003963 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_3 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
钱工的门窗技术笔记3 小时前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
龙亘川4 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人4 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
quantdash_cc4 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl4 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
Raas1005 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品