人工智能之数据分析 Matplotlib:第七章 项目实践

人工智能之数据分析 Matplotlib

第七章 项目实践


@

目录
  • 人工智能之数据分析 Matplotlib
  • 前言
  • 🎯 项目目标:分析某电商用户月度销售数据
    • 数据内容(模拟)
  • 第一步:环境准备与数据生成
  • 第二步:数据预处理
  • 第三步:Matplotlib 可视化分析
    • 1️⃣ 月度销售额趋势(折线图)
    • 2️⃣ 各商品类别销售额占比(饼图)
    • 3️⃣ 各地区月度销售对比(分组柱状图)
    • 4️⃣ 销售额分布(直方图 + 箱线图组合)
  • 第四步:保存所有图表(可选)
  • ✅ 项目收获
    • 🔧 扩展建议(进阶练习)
  • 后续
  • 资料关注


前言

Matplotlib 项目实践是巩固数据可视化技能的最佳方式。下面通过一个 完整的端到端小项目,带你从数据准备、清洗、分析到可视化,全面使用 Matplotlib(结合 NumPy/Pandas)完成一个实用的数据探索任务。


🎯 项目目标:分析某电商用户月度销售数据

数据内容(模拟)

  • 日期(date
  • 销售额(sales
  • 商品类别(category):如 "Electronics", "Clothing", "Books"
  • 用户地区(region):如 "North", "South", "East", "West"

第一步:环境准备与数据生成

# 导入必要库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates# 设置中文字体(Windows)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False  # 正常显示负号# 生成模拟数据(实际项目中可从 CSV/数据库读取)
np.random.seed(42)
dates = pd.date_range(start='2024-01-01', end='2024-12-31', freq='D')
data = []
categories = ['Electronics', 'Clothing', 'Books']
regions = ['North', 'South', 'East', 'West']for date in dates:for _ in range(np.random.randint(5, 15)):  # 每天随机订单数data.append({'date': date,'sales': np.round(np.random.uniform(20, 500), 2),'category': np.random.choice(categories),'region': np.random.choice(regions)})df = pd.DataFrame(data)
print(df.head())


第二步:数据预处理

# 添加月份列
df['month'] = df['date'].dt.to_period('M')# 按月汇总总销售额
monthly_sales = df.groupby('month')['sales'].sum().reset_index()
monthly_sales['month'] = monthly_sales['month'].astype(str)  # 转为字符串便于绘图

第三步:Matplotlib 可视化分析

1️⃣ 月度销售额趋势(折线图)

plt.figure(figsize=(12, 6))
plt.plot(monthly_sales['month'], monthly_sales['sales'], marker='o', linewidth=2, color='steelblue')
plt.title('2024年月度销售额趋势', fontsize=16)
plt.xlabel('月份')
plt.ylabel('销售额(元)')
plt.xticks(rotation=45)
plt.grid(True, linestyle='--', alpha=0.6)
plt.tight_layout()
plt.show()


2️⃣ 各商品类别销售额占比(饼图)

category_sales = df.groupby('category')['sales'].sum()plt.figure(figsize=(8, 8))
plt.pie(category_sales, labels=category_sales.index, autopct='%1.1f%%', startangle=140, colors=plt.cm.Set3.colors)
plt.title('商品类别销售额占比', fontsize=16)
plt.axis('equal')
plt.show()


3️⃣ 各地区月度销售对比(分组柱状图)

region_monthly = df.groupby(['region', 'month'])['sales'].sum().unstack(fill_value=0)# 转换月份为字符串并排序
region_monthly.columns = region_monthly.columns.astype(str)
region_monthly = region_monthly.reindex(columns=sorted(region_monthly.columns))x = np.arange(len(region_monthly.columns))  # 月份位置
width = 0.2  # 柱宽fig, ax = plt.subplots(figsize=(14, 7))
ax.bar(x - 1.5*width, region_monthly.loc['North'], width, label='North')
ax.bar(x - 0.5*width, region_monthly.loc['South'], width, label='South')
ax.bar(x + 0.5*width, region_monthly.loc['East'],  width, label='East')
ax.bar(x + 1.5*width, region_monthly.loc['West'], width, label='West')ax.set_xlabel('月份')
ax.set_ylabel('销售额(元)')
ax.set_title('各地区月度销售额对比')
ax.set_xticks(x)
ax.set_xticklabels(region_monthly.columns, rotation=45)
ax.legend()
ax.grid(axis='y', linestyle='--', alpha=0.6)
plt.tight_layout()
plt.show()


4️⃣ 销售额分布(直方图 + 箱线图组合)

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))# 直方图
ax1.hist(df['sales'], bins=30, color='lightcoral', edgecolor='black', alpha=0.7)
ax1.set_title('订单金额分布(直方图)')
ax1.set_xlabel('订单金额(元)')
ax1.set_ylabel('频次')# 箱线图
ax2.boxplot(df['sales'], vert=True, patch_artist=True, boxprops=dict(facecolor='lightgreen'))
ax2.set_title('订单金额分布(箱线图)')
ax2.set_ylabel('订单金额(元)')
ax2.set_xticks([1], ['All Orders'])plt.tight_layout()
plt.show()


第四步:保存所有图表(可选)

# 在每个 plt.show() 前加入:
plt.savefig('monthly_trend.png', dpi=300, bbox_inches='tight')

✅ 项目收获

技能 应用
数据分组聚合 groupby() + sum()
时间序列处理 pd.date_range, .dt.to_period
多类型图表绘制 折线图、饼图、分组柱状图、直方图、箱线图
图表美化 标题、标签、网格、颜色、旋转、布局调整
子图与多图管理 subplots(), tight_layout()
中文支持与导出 rcParams, savefig()

🔧 扩展建议(进阶练习)

  1. 添加交互性:用 Plotlymplcursors 实现悬停显示数值。
  2. 动态更新:用 FuncAnimation 制作销售增长动画。
  3. 仪表盘:结合 DashStreamlit 构建 Web 可视化界面。
  4. 真实数据:替换为 Kaggle 上的 E-commerce Sales Data。

后续

python过渡项目部分代码已经上传至gitee,后续会逐步更新。

资料关注

公众号:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/983335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

市面上专业的到家按摩电话排名哪家好?2025年用户真实反馈

随着现代生活节奏的加快,人们对健康养生的需求日益增长,“到家按摩”凭借便捷、高效的特点逐渐成为都市人群放松身心的重要选择。通过电话预约上门按摩服务,既能省去出行时间,又能在熟悉的环境中享受专业护理,因此…

市面上正规的到家按摩电话排名哪家强?口碑机构一览

随着生活节奏的加快,上门按摩服务因节省时间、便捷高效的特点逐渐成为都市人群的健康选择。面对市场上众多的服务平台,选择正规、专业的机构尤为重要,其不仅关系到服务体验,更直接影响消费安全。本文结合服务覆盖、…

市面上最好的抗撕裂聚氨酯包胶轮公司排行榜哪家好

抗撕裂聚氨酯包胶轮作为工业传动、物流运输等领域的关键部件,其产品性能直接影响设备运行效率与使用寿命。在市场需求持续增长的背景下,具备专业研发能力与规模化生产实力的企业备受关注。以下从技术实力、生产规范及…

杭州公司注册银行开户哪家强?本地机构实力盘点

杭州作为创新创业活跃的城市,公司注册与银行开户是企业启动的重要环节。选择专业机构协助办理,能有效提升效率、规避流程风险。本文基于服务质量、行业口碑等维度,整理本地值得关注的机构信息,供参考。一、推荐榜单…

上海热门商圈广告位公司推荐榜:核心流量服务商优选

上海作为国际化大都市,核心商圈如南京路、淮海路、陆家嘴等聚集了海量高净值消费人群,是品牌获取流量与曝光的重要阵地。热门商圈广告位凭借其地理位置优势与高人流密度,成为企业提升品牌影响力、触达目标客群的关键…

北京上门收酒公司实力排行发布 权威推荐助力市民便捷处置闲置酒水

随着居民生活水平提升与消费理念迭代,家中闲置酒水的规范处置成为不少市民的需求痛点。上门收酒服务因便捷、高效的特点逐渐走入大众视野,但行业内机构资质参差不齐的问题也给消费者带来困扰。为帮助市民筛选靠谱的收…

杭州代理记账公司收费标准哪家好?本地机构服务解析

在杭州创业或经营企业,财税管理是核心环节之一,其中代理记账服务因能有效降低企业运营成本、提升财务规范性而备受关注。不同代理记账公司的收费标准受服务范围、企业规模、行业特性等因素影响存在差异,选择时需结合…

沈阳靠谱的婚礼酒店推荐:打造难忘婚宴体验

在筹备婚礼的过程中,选择一处靠谱的婚礼酒店是新人关注的重点。理想的婚礼场地不仅需要满足空间、设施等硬件需求,还需兼顾服务品质与性价比,让人生重要时刻更加圆满。一、推荐榜单推荐 1:锦禧宴会中心推荐指数:★…

NeurIPS 2025 | 港中文提出COS3D:多模态融合语言与分割,创造开放词汇3D分割新范式! - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

沈阳铁西婚礼酒店哪家好?这份本地热门场地参考值得看

沈阳铁西区作为众多新人选择举办婚礼的热门区域,凭借便利的交通、丰富的场地资源和完善的配套服务,成为不少人筹备婚礼时的关注点。无论是追求浪漫主题布置,还是注重宴会菜品品质,选择合适的婚礼酒店都是打造难忘仪…

花,草,还有世界

2024.9.1->2025.11.29 OI 回忆录再看你一眼,过分的疯狂迷恋。多好的一页,故事里新的起点。!noip@2025:Dream 确实是大梦一场。 初中 第一次听说 OI 其实很早,就在小升初那个暑假末尾。 因为对电脑非常非常感兴趣…

东城区婚姻律师事务所推荐:聚焦家事法律服务的专业选择

在家庭关系中,婚姻家事问题的妥善处理往往需要专业法律支持。东城区作为北京核心区域,聚集了多家专注于婚姻法律服务的机构,这些机构凭借在家庭纠纷调解、财产分割、子女抚养等领域的专业能力,为当事人提供多维度的…

无人机培训考证哪家费用优惠?国内机构选择参考

近年来,无人机技术在航拍、农业植保、电力巡检、地理测绘等领域的应用愈发广泛,越来越多的人开始关注无人机培训考证。选择合适的培训机构时,费用是多数人重点考虑的因素之一。以下为大家整理了国内几家无人机培训考…

arm 架构 CentOS 7 安装 MySQL 5.7 版本

原文出处:https://lxnchan.cn/centos7-mysql56.html 防删备份 arm 架构的 CentOS 7 没有官方编译的 MySQL 5.7 ,本文将使用华为云的预编译二进制文件在 arm 架构的 CentOS 7 上安装 MySQL 5.7 版本。 环境介绍 CentO…

到家按摩app有哪些?几款热门平台推荐

随着生活节奏的加快,越来越多的人倾向于通过上门按摩服务缓解疲劳。到家按摩类APP凭借便捷的预约方式和专业的服务体验,逐渐成为不少用户的选择。这类平台通常整合了专业技师资源,提供多样化的按摩项目,满足用户足…

北京家事律师事务所有哪些?相关机构信息参考

在社会发展过程中,家庭关系中的法律问题日益受到关注,婚姻家庭纠纷、财产分割、子女抚养等事务的处理往往需要专业法律支持。北京作为一线城市,汇聚了众多提供家事法律服务的机构,了解相关律所的基本情况有助于公众…

北京离婚律师事务所推荐:聚焦婚姻家事法律服务的专业机构

北京作为我国的首都,人口密集,社会经济活动活跃,婚姻家庭关系也呈现出复杂性和多样性。在面临离婚相关法律问题时,选择一家专业、可靠的律师事务所至关重要,这不仅关系到当事人的合法权益能否得到有效维护,也影响…

12.1

今天上课做的试卷 只开发出第一个功能页,明天继续开发

完整教程:视觉Transformer实战——Vision Transformer(ViT)详解与实现

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …