当前位置: 首页 > news >正文

Python 数据分析与可视化 Day 6 - 可视化整合报告实战

🎯 今日目标

  • 整合数据分析与可视化结果生成结构化报告
  • 用代码自动生成完整的图文分析文档
  • 熟悉 Jupyter Notebook / Markdown + 图表 报告生成流程

🧩 一、项目背景:学生成绩分析报告

数据来源:students_cleaned.csv(含姓名、性别、成绩、是否及格)

你将完成一份“学生成绩可视化分析报告”,报告内容包含数据概况、成绩分布、性别对比、可视化图表嵌入与结论总结。


📄 整合报告结构(可导出为 Markdown 或 HTML)

1. 报告标题

# 学生成绩数据分析与可视化报告

2. 数据概况(总人数、平均分、及格率等)

print(df.describe())
print("总人数:", len(df))
print("及格人数:", df["是否及格"].sum())
print("及格率:", df["是否及格"].mean())

3. 数据可视化部分(嵌入图片)

## 3.1 学生成绩趋势折线图
![折线图](charts/成绩折线图.png)## 3.2 学生成绩柱状图
![柱状图](charts/成绩柱状图.png)## 3.3 性别平均成绩柱状图
![性别图](charts/性别平均成绩柱状图.png)## 3.4 成绩分布图
![直方图](charts/成绩分布直方图.png)## 3.5 成绩箱线图
![箱线图](charts/成绩箱线图_按性别.png)

4. 分析要点总结

- 总体成绩均值为 **X.X 分**,及格率为 **XX%**
- 男女生成绩平均分差异不大,女生略高/略低
- 少数学生存在异常低分(见箱线图)
- 成绩集中分布在 XX~XX 分之间

🧪 今日练习任务

✅ 编写脚本 generate_report.py,自动生成 Markdown 格式的整合报告

import pandas as pd
import osdf = pd.read_csv("data/students_cleaned.csv")# 统计概况
total = len(df)
avg_score = df["成绩"].mean()
pass_rate = df["是否及格"].mean() * 100# Markdown 生成
report_md = f"""# 学生成绩数据分析与可视化报告## 1. 数据概况
- 总人数:{total} 人  
- 平均成绩:{avg_score:.2f} 分  
- 及格率:{pass_rate:.1f}%## 2. 成绩趋势图
![折线图](./成绩折线图.png)## 3. 成绩柱状图
![柱状图](./成绩柱状图.png)## 4. 性别平均成绩对比
![性别图](./性别平均成绩柱状图.png)## 5. 成绩分布直方图
![直方图](./成绩分布直方图.png)## 6. 成绩箱线图(性别分组)
![箱线图](./成绩箱线图_按性别.png)## 7. 分析结论
- 成绩总体呈 **X型分布**(待观察)
- 成绩最高为 {df['成绩'].max()} 分,最低为 {df['成绩'].min()} 分
- 性别之间成绩差异为 {df.groupby("性别")["成绩"].mean().diff().values[-1]:.2f} 分
- 建议关注低分段学生辅导情况"""# 保存为 Markdown 文件
output_path = "charts/学生成绩可视化报告.md"
with open(output_path, "w", encoding="utf-8") as f:f.write(report_md)print(f"✅ 分析报告已生成:{output_path}")

✅ 报告导出建议

  • .md 可通过 VS Code 预览或转为 .html.pdf

  • 若用 Jupyter Notebook,可直接输出富文本 + 图形

    # 学生成绩数据分析与可视化报告## 1. 数据概况
    - 总人数:4 人  
    - 平均成绩:75.75 分  
    - 及格率:50.0%## 2. 成绩趋势图
    ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=.%2F%E6%88%90%E7%BB%A9%E6%8A%98%E7%BA%BF%E5%9B%BE.png&pos_id=img-4Vu34itx-1750768214904)## 3. 成绩柱状图
    ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=.%2F%E6%88%90%E7%BB%A9%E6%9F%B1%E7%8A%B6%E5%9B%BE.png&pos_id=img-Dw8jv8s1-1750768214905)## 4. 性别平均成绩对比
    ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=.%2F%E6%80%A7%E5%88%AB%E5%B9%B3%E5%9D%87%E6%88%90%E7%BB%A9%E6%9F%B1%E7%8A%B6%E5%9B%BE.png&pos_id=img-LYFZNcT8-1750768214905)## 5. 成绩分布直方图
    ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=.%2F%E6%88%90%E7%BB%A9%E5%88%86%E5%B8%83%E7%9B%B4%E6%96%B9%E5%9B%BE.png&pos_id=img-i4dSMBFe-1750768214905)## 6. 成绩箱线图(性别分组)
    ![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=.%2F%E6%88%90%E7%BB%A9%E7%AE%B1%E7%BA%BF%E5%9B%BE_%E6%8C%89%E6%80%A7%E5%88%AB.png&pos_id=img-a0l6Vh2H-1750768214905)## 7. 分析结论
    - 成绩总体呈 **X型分布**(待观察)
    - 成绩最高为 88.0 分,最低为 59.0 分
    - 性别之间成绩差异为 -4.50 分
    - 建议关注低分段学生辅导情况
    

    markdown输出效果:
    在这里插入图片描述


🧾 今日总结

  • 掌握了整合可视化图表与分析结果的报告结构
  • 用 Markdown + Python 自动生成图文报告
  • 为后续的数据分析、汇报、面试作品集积累材料
http://www.lryc.cn/news/574767.html

相关文章:

  • Javaweb - 5 事件的绑定
  • 技术伦理之争:OpenAI陷抄袭风波,法院强制下架宣传视频
  • 自然语言处理入门
  • day041-web集群架构搭建
  • 软件设计模式选择、判断解析-1
  • 快速sincos算法,stm32测试
  • 用Rust写平衡三进制加法器
  • 【unitrix】 4.3 左移运算(<<)的实现(shl.rs)
  • 【WCF】单例模式的线程安全缓存管理器实现,给你的WebApi加入缓存吧
  • MyBatis Plus与P6Spy日志配置
  • leetcode230-二叉搜索树中第K小的元素
  • 【计算机网络】期末复习
  • 【教学类-89-08】20250624新年篇05——元宵节灯笼2CM黏贴边(倒置和正立数字 )
  • STM32学习笔记——中断控制
  • (C++)标准模板库(STL)相关介绍(C++教程)
  • C语言专题——关键字详解
  • 前端后端文件下载防抖实现方案
  • 浅谈开源在线客服系统与 APP 集成的技术方案与优劣势
  • 华为云Flexus+DeepSeek征文 | 基于华为云的 Dify-LLM 企业级 AI 开发平台部署指南
  • React Hooks详解
  • 开源跨平台的轻量 C# 编辑器
  • 想考华为HCIA-AI,应该怎么入门?
  • 第五课:大白话教你用K邻近算法做分类和回归
  • (三十六)深度解析领域特定语言(DSL)第七章——语法制导翻译——案例语义模型
  • 10-Python模块详解
  • wpa_supplicant连接到了路由,但是 udhcpc会分配到不同网段的ip,路由器ip为192.168.0网段,板子分配ip为192.168.1的网段
  • 美团小程序闪购 mtgsig1.2
  • Vue的学习内容和目标
  • OSS迁移实战:从自建MinIO到阿里云OSS的完整数据迁移方案
  • Rust 项目实战:多线程 Web 服务器