python获取excel数据,分别是车间号,取样时间,样品类型,检验结果,备注,先按照车间号进行分组,每组数据再按照样品类型分组,计算每组数据检验结果为合格的占比,结果以百分比显示,再计算每组数据备注含有脱镀字符的占比,再计算每组数据备注含有破断低字符的占比,再计算每组数据备注含有颗粒多字符的占比,再计算每组数据备注含有颗粒少字符的占比,再计算每组数据备注含有团聚字符的占比,均以百分比显示,然后输出数据透视表,以车间号为行索引,显示每组数据的个数,合格数据的个数,最后显示总体的合格占比,脱镀占比,破断低占比,颗粒多占比,颗粒少占比,团聚占比,最后将数据透视表保存到excel表中
时间: 2023-06-07 08:09:17 浏览: 82
非常感谢您的问题!根据您的要求,需要使用 Python 对 Excel 数据进行处理,并生成数据透视表并保存到 Excel 表中。
首先,您需要安装以下 Python 库:pandas、openpyxl。
然后,您可以使用以下代码来读取 Excel 数据,按照车间号和样品类型进行分组,并计算各种占比,最后生成数据透视表并保存到 Excel 表中:
```
import pandas as pd
# 读取 Excel 数据
df = pd.read_excel('data.xlsx')
# 按照车间号和样品类型进行分组
grouped = df.groupby(['车间号', '样品类型'])
# 计算各种占比
results = grouped.agg({
'检验结果': lambda x: sum(x == '合格') / len(x),
'备注': lambda x: sum(x.str.contains('脱镀字符')) / len(x),
'备注': lambda x: sum(x.str.contains('破断低字符')) / len(x),
'备注': lambda x: sum(x.str.contains('颗粒多字符')) / len(x),
'备注': lambda x: sum(x.str.contains('颗粒少字符')) / len(x),
'备注': lambda x: sum(x.str.contains('团聚字符')) / len(x)
})
# 生成数据透视表
pivot_table = pd.pivot_table(
df,
index='车间号',
values='检验结果',
aggfunc=['count', lambda x: sum(x == '合格'), lambda x: sum(x == '合格') / len(x)],
columns='备注'
)
# 保存数据透视表到 Excel 表中
writer = pd.ExcelWriter('pivot_table.xlsx')
pivot_table.to_excel(writer, 'Sheet1')
writer.save()
```
希望能帮助您解决问题!如果您有任何其他问题,欢迎提出哦~
阅读全文