需求背景:
在制造业工厂经常使用柏拉图分析不合格产品
运行环境:
win10 win8 win7 64位操作系统
python 3.6 以上
第三方库:
pandas
matplotlib
程序代码:
import pandas as pd
import matplotlib.pyplot as plt
aa="data.xlsx" #excel工作薄名
df=pd.DataFrame(pd.read_excel(aa))
df1=df.groupby(["不良代码"])["数量"].sum().reset_index()
df1=df1.set_index("不良代码")
df1=df1[u"数量"].copy()
df2=df1.sort_values(ascending=False)#升序排列
plt.rc("font",family="SimHei",size=10)
plt.figure("pareto")
df2.plot(kind="bar",width=0.96,position=0) #数量和类型画成bar图position标记位置
plt.ylabel(u"个数")
p=1.0*df2.cumsum()/df2.sum() #cumsum用于累加
#print(p)
p.plot(color="r",secondary_y=True,style="-o",linewidth=0.5) #第二y轴-o标记形状,-d菱形
plt.ylabel(u"比例")
plt.title("不合格品柏拉图分析")
plt.show()