# 贡献度分析:又称帕累托分析,原理是帕累托法则,又称20/80定律。80%的利润常常来自于20%的最畅销产品,剩下的80%的产品只产生了20%的利润。 # 帕累托图代码 from __future__ import print_function import pandas as pd dish_profit='E:/WTTfiles/自我学习/机器学习/python数据分析与挖掘实战/chapter3/demo/data/catering_dish_profit.xls' data=pd.read_excel(dish_profit,index_col=u'菜品名') data=data[u'盈利'].copy() sorted(data)#书中代码有问题,应该成此处代码 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus']=False plt.figure() data.plot(kind='bar') plt.ylabel(u'盈利(元)') p=1.0*data.cumsum()/data.sum() p.plot(color='r',secondary_y=True,style='-o',linewidth=2) plt.annotate(format(p[6],'.4%'),xy=(6,p[6]),xytext=(6*0.9,p[6]*0.9),arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2")) plt.ylabel(u'盈利(比例)') plt.show()