半导体工程师必会的5个Python脚本(提升效率10倍)
我刚入行时每天手动处理Excel到晚上22:00。后来写了5个Python脚本,18:00下班。
不是我对编程有天赋,是这5个脚本确实太实用了。
一、数据清洗脚本
每天要从MES系统导出数据,手动删除异常值、填缺失值、处理重复记录。
import pandas as pd
import numpy as np
def clean_data(file_path):
df = pd.read_excel(file_path)
# 删除测试数据
df = df[~df['LotNo'].str.startswith('TEST')]
# 填补缺失值
df['Temperature'] = df['Temperature'].fillna(df['Temperature'].interpolate())
# 去除重复
df = df.drop_duplicates()
# 数值标准化
df['Temperature'] = (df['Temperature'] - 25) / 10
return df
# 为什么这样写:
# 1. 自动化处理重复劳动
# 2. interpolate更符合工艺连续性假设
二、控制图生成脚本
SPC控制图要天天画,手动Excel画图又慢又不规范。
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
def draw_control_chart(data, parameter='Temperature'):
df = data[parameter]
mean = df.mean()
std = df.std()
ucl = mean + 3 * std
lcl = mean - 3 * std
plt.figure(figsize=(12, 6))
plt.plot(df.values, 'b-', label=parameter)
plt.axhline(y=ucl, color='r', linestyle='--', label='UCL')
plt.axhline(y=mean, color='g', label='CL')
plt.axhline(y=lcl, color='r', linestyle='--', label='LCL')
# 标记超限点
out_of_control = (df > ucl) | (df < lcl)
plt.scatter(out_of_control[out_of_control].index, df[out_of_control], c='red', s=100, marker='x')
plt.legend()
plt.savefig(f'{parameter}_control_chart.png', dpi=150)
plt.close()
# 为什么这样写:
# 1. 3-sigma原则是SPC标准
# 2. 自动标记超限点
三、日报自动汇总脚本
每天要把多个Excel表格汇总成一份日报,手动要1小时。
四、邮件自动发送脚本
日报生成后要发给多人,手动发邮件容易漏发。
五、告警自动推送脚本
设备异常时需要第一时间知道,但不可能24小时盯着。
六、效果对比
图:脚本处理 vs 手动处理效率对比
图:脚本处理 vs 手动处理效率对比
图:脚本执行界面
七、总结
这5个脚本覆盖了半导体工程师日常工作的核心场景。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
收藏后需要时方便找到
你们工作中还有哪些重复劳动?
关注后回复VIP领半导体工艺资料包
