数据可视化模拟题2-题目

  • ~2.94K 字
  1. 1. Python程序开发竞赛 - 模拟题(第二套)
    1. 1.1. 第三部分:数据分析与可视化(30分)
    2. 1.2. 任务一:商品类别销售趋势与区域分布分析(15分)
      1. 1.2.1. 技术架构:Django + PyEcharts
      2. 1.2.2. 【任务说明】
      3. 1.2.3. 【数据集说明】
      4. 1.2.4. 【任务要求】
      5. 1.2.5. 【操作说明】
      6. 1.2.6. 【评分标准】
    3. 1.3. 任务二:用户消费行为特征分析(15分)
      1. 1.3.1. 技术架构:Seaborn 独立架构
      2. 1.3.2. 【任务说明】
      3. 1.3.3. 【数据集说明】
      4. 1.3.4. 【任务要求】
      5. 1.3.5. 【操作说明】
      6. 1.3.6. 【评分标准】
    4. 1.4. 【注意事项】

Python程序开发竞赛 - 模拟题(第二套)

第三部分:数据分析与可视化(30分)


任务一:商品类别销售趋势与区域分布分析(15分)

技术架构:Django + PyEcharts

【任务说明】

现有某电商平台2022-2024年的商品销售数据(`ecommerce_sales.csv`),请根据任务要求完成数据分析与可视化。

【数据集说明】

数据集文件:`ecommerce_sales.csv`

字段名 说明 示例
order_id 订单编号 ORD20220101
order_date 订单日期 2022-01-15
category 商品类别 电子产品、服装鞋帽、食品饮料、家居用品、图书文具
product_name 商品名称 iPhone 13
price 商品单价(元) 5999.00
quantity 购买数量 1
total_amount 订单金额(元) 5999.00
province 省份 广东省
city 城市 深圳市
payment_method 支付方式 支付宝、微信支付、银行卡

【任务要求】

1.数据读取与清洗(4分)

  • 读取数据集 `ecommerce_sales.csv`,对数据进行必要的清洗;
  • 处理 `order_date` 格式不一致的问题(如”2022/01/15”与”2022-01-15”);
  • 修正 `category` 字段的别名(如”电子”统一为”电子产品”,”服装”统一为”服装鞋帽”等);
  • 删除 `category` 为空的记录;
  • 重新计算 `total_amount = price * quantity`,修正金额不一致的数据;
  • 删除 `province` 为空的记录。

2.数据统计与分析(4分)

  • 从 `order_date` 中提取年份和季度信息;
  • 按年份 + 季度 + 商品类别分组统计销售额(`total_amount` 求和);
  • 创建透视表,行索引为商品类别,列索引为年份-季度。

3.可视化图表绘制(4分)

  • 使用 PyEcharts 库绘制热力图(HeatMap);
  • X轴为季度标签(如”2022-Q1”、”2022-Q2”等);
  • Y轴为商品类别(电子产品、服装鞋帽、食品饮料、家居用品、图书文具);
  • 颜色深浅表示销售额大小;
  • 设置 VisualMap 组件,显示颜色与数值的映射关系;
  • 设置图表标题和提示框格式。

4.Django框架集成(3分)

  • 使用 Django 框架创建 Web 项目;
  • 在视图函数中完成数据处理和图表生成;
  • 通过模板渲染在前端页面中展示该图表。

【操作说明】

  1. 从指定目录获取相关项目工程代码。
  2. 完成任务后,根据平台”答题区”对应内容要求,完成答题报告并点击”保存”按钮实时保存。

【评分标准】

评分项 分值 说明
数据读取与清洗 4分 正确读取CSV,完成所有清洗步骤
数据统计与分析 4分 正确提取季度,完成分组统计和透视表
可视化图表绘制 4分 热力图正确,包含完整配置
Django框架集成 3分 项目结构正确,视图和模板完整

任务二:用户消费行为特征分析(15分)

技术架构:Seaborn 独立架构

【任务说明】

现有某电商平台2023年的用户消费行为数据(`ecommerce_users.csv`),请根据任务要求完成数据分析与可视化。

【数据集说明】

数据集文件:`ecommerce_users.csv`

字段名 说明 示例
user_id 用户编号 U10001
register_date 注册日期 2021-03-15
age 用户年龄 28
gender 性别 男、女
city_level 城市等级 一线城市、二线城市、三线城市
member_level 会员等级 普通会员、银卡会员、金卡会员、钻石会员
total_orders 总订单数 35
total_spending 总消费金额(元) 12580.50
avg_monthly_spending 月均消费金额(元) 1048.38
category_preference 偏好类别 电子产品
last_purchase_date 最后购买日期 2023-12-20

【任务要求】

1.数据读取与清洗(4分)

  • 读取数据集 `ecommerce_users.csv`,对数据进行必要的清洗;
  • 处理 `age` 异常值(负数或大于120的设为NaN后删除);
  • 处理 `total_spending` 缺失值(删除对应记录);
  • 处理 `member_level` 空值(删除对应记录);
  • 重新计算 `avg_monthly_spending = total_spending / 12`。

2.数据分析(3分)

  • 分析用户年龄、消费金额、购买频次之间的相关关系;
  • 按会员等级分组统计用户数量和平均消费金额。

3.可视化图表绘制(6分)

  • 使用 Seaborn 库绘制 1行2列 的子图布局:

-左侧子图:使用 `sns.regplot` 或 `sns.lmplot` 绘制带回归线的散点图

1
2
3
4
5
6
- X轴为用户年龄,Y轴为月均消费金额;

- 用 `hue` 参数按会员等级分组,不同等级使用不同颜色;

- 显示回归趋势线。

-右侧子图:使用 `sns.countplot` 或 `sns.barplot` 展示各会员等级的用户数量分布。

  • 设置整体标题、各子图标题、坐标轴标签;
  • 使用 `sns.set_style` 设置图表样式。

4.结果输出(2分)

  • 将图表保存为 PNG 图片文件(`user_behavior_analysis.png`),分辨率 dpi=150;
  • 打印数据清洗后的摘要统计信息(记录数、各字段描述性统计)。

【操作说明】

  1. 从指定目录获取相关项目工程代码。
  2. 完成任务后,根据平台”答题区”对应内容要求,完成答题报告并点击”保存”按钮实时保存。

【评分标准】

评分项 分值 说明
数据读取与清洗 4分 正确读取CSV,完成所有清洗步骤
数据分析 3分 正确分析变量关系,完成分组统计
可视化图表绘制 6分 子图布局正确,图表要素完整
结果输出 2分 PNG正确保存,摘要信息完整

【注意事项】

  1. 任务一需在 Django 项目框架下完成,任务二为独立 Python 脚本;
  2. 所有代码注释使用中文;
  3. CSV 数据文件放置在项目根目录下;
  4. 任务二脚本中必须设置 `matplotlib.use(‘Agg’)` 以确保无图形界面环境下正常运行;
  5. 代码风格清晰,缩进规范,符合 Python 编码规范。
分享