2024 年(第 7 届)“泰迪杯”数据分析技能赛A 题 自动化生产线数据分析 完整代码结果分享

一、背景

随着信息技术的快速发展,工业自动化领域的智能控制系统日益完善。自动化生产线能够独立完成从物料输送到元件抓取,再到产品安装和质量检验的各个环节,这不仅极大提升了制造效率和产品质量,也有效降低了生产成本。

为了使企业的管理层和工程技术人员及时掌握生产线的运行状况和潜在问题,需要对生产线产生的数据进行深入分析,从而提高生产线的生产效率,减少产品的次品率。二、目标

(1)数据整理恂岖薪与统计。

(2)生产线运行情况的可视化分析。

(3)生产线影响因素分析。

三、任务

附件1中的文件 M101.csV、M102.csv 分别记录了某生产企业两条生产线全年加工处理过程中各个工序的生产线数据。请编程完成以下任务,根据附件2中的模板文件保存结果,并撰写报告,在报告中详细描述各项任务的处理思路、过程及必要的结果。所有实数类型的结果保留两位小数。

任务1 数据整理与统计

任务 1.1 分别统计两条生产线每天的产品总数(包含不合格产品)、合格产品数、不合格产品数与合格率,将结果分别存放到resultl 1.xlsx的M101和M102工作表中(格式见表 1),并在报告中给出各生产线全年的产品总数、合格产品数、不合格产品数与合格率(格式见表 2)。

复制代码
import pandas as pd
df = data1
df['total_products'] = df['合格产品累计数'] + df['不合格产品累计数']

# 按"月份"和"日期"分组,获取每天的最大累计值表示当天的产品数量情况
daily_data = df.groupby(['月份', '日期']).agg(
    产品总数=('total_products', 'max'),
    合格产品数=('合格产品累计数', 'max'),
    不合格产品数=('不合格产品累计数', 'max')
).reset_index()

# 计算合格率(%),合格产品数除以产品总数并乘以100得到百分比
daily_data['合格率(%)'] = (daily_data['合格产品数'] / daily_data['产品总数']) * 100
output_path = 'result1_1.xlsx'
with pd.ExcelWriter(output_path, engine='openpyxl') as writer:
    daily_data.to_excel(writer, sheet_name='Sheet1', index=False)
daily_data

任务1.2 分别列出两条生产线每次故障的相关信息,按照月份、日期和开始时间升序排列,将结果分别存放到result1 2.xlsx的 M101和M102工作表中(格式见表 3),并在报告中给出各生产线每种故障一年中第 25 次发生的相关信息(格式见表4)。

任务 1.3根据任务1.2的结果,分别统计两条生产线各类故障每天发生的总次数和平均持续时长,按照生产线、月份、日期、故障类别升序排列,将结果存放到resultl 3.xlsx 中(格式见表 5:如果某天没有指定类别的故障,则该天该故障的总次数为0,平均持续时长为 Nul)。在报告中分别给出两条生产线各类故障发生的总次数、平均持续时长、故障发生频率,并进行汇总(格式见表6)。

任务1.4 分别统计两条生产线每天的有效工作时长,按照月份、日期升序排列,将结果存放到 result1 4.xlsx中(格式见表7),并在报告中给出各生产线的日平均有效工作时长(格式见表8)。有效工作时长是当天开机时长减去因故障停机的时长。

任务1.5 对生产线 M101每天推出的电路板数量、抓取的元件数量与抓取的故障次数做相关性分析,并结合问题背景解释所得到的结果。

任务2 生产线运行情况的可视化分析任务

2.1 根据各月的产品总数(包含不合格产品),以月份为横坐标,绘制两条生产线的堆叠柱状图。

任务

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

plt.rcParams['font.sans-serif']=['SimHei'] 
plt.rcParams['axes.unicode_minus']=False 

# 分别计算每月的产品总数
df1 = data1.groupby('月份').agg(产品总数=('推出累计数', 'sum')).reset_index()
df2 = data2.groupby('月份').agg(产品总数=('推出累计数', 'sum')).reset_index()

# 绘制堆叠柱状图
plt.figure(figsize=(10, 6))
plt.bar(df1['月份'], df1['产品总数'], label='生产线1')
plt.bar(df2['月份'], df2['产品总数'], bottom=df1['产品总数'], label='生产线2')

# 添加图例和标签
plt.xlabel('月份')
plt.ylabel('产品总数(包含不合格产品)')
plt.title('各月产品总数的堆叠柱状图(生产线1与生产线2)')
plt.legend()

# 显示图形
plt.show()

2.2 根据生产线每天的不合格产品数(取值范围为0,35)和不合格率(取值范围为0,0.9%),分别绘制两条生产线的双Y轴折线图。

2.3根据不同故障类别的全年发生总次数,绘制两条生,产线各故障类别的占比双层环形图。

任务 2.4 根据不同故障类别,以持续时长(单位:秒)为坐标,分别绘制两条生产线全年故障发生持续时长的叠加直方图。

任务2.5 根据4月 26 日前 100 秒生产线数据,以时间(单位:秒)为横坐标,电路板推出次序为纵坐标,绘制生产线 M101 包含4个工序的甘特图。

任务3 生产线影响因素分析

根据生产线数据,应用数据分析方法分析影响产品合格率和生产线产量的可能因素。

完整代码请关注:

相关推荐
wang_yb5 小时前
当散点图不够用时:用 t-SNE 可视化多维数据
数据分析·databook
databook5 小时前
当散点图不够用时:用 t-SNE 可视化多维数据
python·数据分析·数据可视化
2501_933670796 小时前
电子信息工程零项目经验求职破局
数据分析
字节跳动开源6 小时前
30 分钟搞定个人情报站:Viking AI 搜索让前沿资讯实时推到面前
数据挖掘·开源·agent
miaowu3576 小时前
AI智能体推动数字化转型:从流程自动化到决策辅助的完整路线图
大数据·人工智能·自动化
QYR-分析10 小时前
智能化自动化浪潮下,机器人末端执行器行业赛道发展全景解析
人工智能·机器人·自动化
workflower12 小时前
模型中心主义路径
大数据·人工智能·深度学习·机器学习·自动化·制造
Urbano12 小时前
卫衣全工序自动化智造科普:替代工位、设备选型与产能升级方案
大数据·人工智能·自动化
AC赳赳老秦12 小时前
OpenClaw 采集任务日志审计:全程记录采集行为,满足合规溯源与企业审计要求
java·大数据·python·数据挖掘·数据分析·php·openclaw
学术小白人14 小时前
【倒计时4个月】-AI赋能图像处理与计算机视觉技术国际学术研讨会
网络·人工智能·神经网络·数据分析·光学