由来:依据帕累托分析中的帕累托法则(有兴趣的话可以自己百度一下)。在公司运营中,80%的利润常常来自于20%最畅销的产品,而其他80%的产品只产生了20%的利润。
因此,要想提高利润的话就要从80%那一大部分的利润板块入手,而这80%的利润是由20%的产品构成的,所以,我们要找出这造成80%利润的那20%的产品,进而大比率的提高整体的利润。从程序的角度来讲,我们可以通过构造帕累托图来显而易见的表示此关系。
具体的运行过程如下:
我遇到的问题:
不了解sort_values()函数的使用方法
解决办法:
https://blog.csdn.net/Ajdidfj/article/details/123134993?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167852207516800213080781%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167852207516800213080781&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-123134993-null-null.142^v73^insert_down1,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=sort_values%EF%BC%88%EF%BC%89&spm=1018.2226.3001.4187https://blog.csdn.net/Ajdidfj/article/details/123134993?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167852207516800213080781%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167852207516800213080781&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-123134993-null-null.142^v73^insert_down1,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=sort_values%EF%BC%88%EF%BC%89&spm=1018.2226.3001.4187
我遇到的问题:
不了解cumsum()函数的用法
解决办法:
https://blog.csdn.net/weixin_44225182/article/details/102642143?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167852281016782427444056%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167852281016782427444056&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-102642143-null-null.142^v73^insert_down1,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=cumsum%28%29&spm=1018.2226.3001.4187https://blog.csdn.net/weixin_44225182/article/details/102642143?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167852281016782427444056%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167852281016782427444056&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-102642143-null-null.142^v73^insert_down1,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=cumsum%28%29&spm=1018.2226.3001.4187
我遇到的问题:
plot函数的用法
解决办法:
matlab中plot函数用法_matlab plot_奔跑的小仙女的博客-CSDN博客线条、颜色等参数:1.简单的2维直线图 : plot(x,y)同一坐标显示n条线:plot(x,y1,x,y2,…)x = 0:pi/10:2*pi;y = sin(x);figure;hold on;plot(x,y)2.plot(X):X是矩阵,表示矩阵的每一行都画一条线,将显示n条线。X=rand(3,3); %随机生成3*3矩阵figure;hold on;p...https://blog.csdn.net/qq_43211132/article/details/88235315?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167852245416800182754820%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167852245416800182754820&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-6-88235315-null-null.142^v73^insert_down1,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=plot%E5%87%BD%E6%95%B0&spm=1018.2226.3001.4187
我遇到的问题:(不要求掌握)
annotate方法不会使用,看不懂
解决办法:
annotate 函数的用法_annotate函数_睹小物的博客-CSDN博客Axes.annotate(s,xy,*args,**kwargs)s:注释文本的内容xy:被注释的坐标点,二维元组形如(x,y)xytext:注释文本的坐标点,也是二维元组,默认与xy相同xycoords:被注释点的坐标系属性,允许输入的值如下属性值含义'figure points'以绘图区左下角为参考,单位是点数'figure pixels'...https://blog.csdn.net/Growing_hacker/article/details/90245752?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167852365116800180616518%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=167852365116800180616518&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-90245752-null-null.142^v73^insert_down1,201^v4^add_ask,239^v2^insert_chatgpt&utm_term=annotate%E5%87%BD%E6%95%B0&spm=1018.2226.3001.4187
具体的代码如下:
# 代码3-8 菜品盈利帕累托图# 菜品盈利数据 帕累托图
import pandas as pd#引入pandas库并且用pd标记# 初始化参数
dish_profit = 'D:\DataMiningCode\chapter3\demo\data\catering_dish_profit.xls' # 用dish_profit标记餐饮菜品盈利数据这个文件
data = pd.read_excel(dish_profit, index_col = '菜品名')#把这个文件读一下,用data标记读的这个文件,并且规定以 '菜品名'为索引
data = data['盈利'].copy()#用data标记原来标记的data的盈利这列,并且是用copy()的方法
data.sort_values(ascending = False)#对data(目前是只有'盈利'这一列的信息了),并且对其中的值进行排序(sort方法改变原列表的信息),
#ascending = False表示按照降序排列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('盈利(元)')#y轴的标签设置为'盈利(元)'p = 1.0*data.cumsum()/data.sum()#这里应该是根据每个菜的盈利算出加总出来的该菜品的盈利比例
p.plot(color = 'r', secondary_y = True, style = '-o',linewidth = 2)#设置颜色为红色,有第二个纵坐标,形式为-实线,o表示圆圈,线的宽度设置为2plt.annotate(format(p[6], '.4%'), xy = (6, p[6]), xytext=(6*0.9, p[6]*0.9), arrowprops=dict(arrowstyle="->", connectionstyle="arc3,rad=.2")) # 添加注释,即85%处的标记。这里包括了指定箭头样式。
#这个语句是用来调整的(应该是),我暂时还不太懂
plt.ylabel('盈利(比例)')#把第二个纵坐标的标签设置为'盈利(比例)’
plt.show()
运行截图如下: