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 生产线影响因素分析

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

完整代码请关注:

相关推荐
用户Taobaoapi20146 分钟前
母婴用品社媒种草效果量化:淘宝详情API+私域转化追踪案例
大数据·数据挖掘·数据分析
用户Taobaoapi20149 分钟前
Taobao agent USA丨美国淘宝代购1688代采集运系统搭建指南
数据挖掘·php
宇钶宇夕39 分钟前
针对工业触摸屏维修的系统指南和资源获取途径
单片机·嵌入式硬件·自动化
真智AI5 小时前
利用 Claude Opus 4 自动化 GitHub 工作流:从安装到实战详解
运维·自动化·github
key065 小时前
电子水母函数解析
数据分析
Brduino脑机接口技术答疑7 小时前
脑机新手指南(二十一)基于 Brainstorm 的 MEG/EEG 数据分析(上篇)
数据挖掘·数据分析
镜舟科技7 小时前
StarRocks × Tableau 连接器完整使用指南 | 高效数据分析从连接开始
starrocks·数据分析·数据可视化·tableau·连接器·交互式分析·mpp 数据库
羊小猪~~7 小时前
【NLP入门系列五】中文文本分类案例
人工智能·深度学习·考研·机器学习·自然语言处理·分类·数据挖掘
好开心啊没烦恼8 小时前
Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?
开发语言·python·数据挖掘·数据分析
艾立泰智能包装9 小时前
电商分拣的“效率密码”:艾立泰轻量化托盘引领自动化流水线革新
运维·自动化