数据特征分析-帕累托分析

帕累托分析(贡献度分析):即二八定律

目的:通过二八原则寻找属于20%的关键决定性因素。

 

随机生成数据

df = pd.DataFrame(np.random.randn(10)*1000+3000,index = list('ABCDEFGHIJ'),columns = ['销量'])  #避免出现负数

 

df.sort_values('销量',ascending = False,inplace = True)  #按大小倒序排序
df.plot(kind = 'bar',alpha = 0.7)

s = df['销量'].cumsum()/df['销量'].sum()
key = df[s >= 0.8].index[0]  #累计销量占比达到0.8的第一个索引标签
position = df.index.tolist().index(key)   #上述得到的索引标签的位置
print('累计占比超过80%%的节点为%s,对应索引位置为%s'%(key,p))
print('关键产品为',df.index.tolist()[:position+1])

s.plot(secondary_y = True,linestyle='--',marker='.',color = 'g')  #在柱状图中使用y轴为副坐标轴,生成累计销量占比的折线图
plt.axhline(0.8,linestyle='--',color = 'r')

 

posted @ 2019-08-14 15:26  Forever77  阅读(668)  评论(0编辑  收藏  举报