美文网首页
物流项目分析2

物流项目分析2

作者: 奶油裙子 | 来源:发表于2023-03-24 16:50 被阅读0次

    数据来源:

    某企业销售的6种商品所对应的送货及用户反馈数据

    解决问题:

    1.配送服务是否存在问题
    2.是否存在尚有潜力的销售区域

    1. 商品是否存在质量回题

    先放结论:

    1. 货品4一西北,货品2一马来西亚两条线路存在较大问题,急需提升时效
      2.货品2在华东地区还有较大市场空间,适合加大投入,同时货品2在西北配送时效长,用户拒收率高,应该减少投入
      3.货品1、2、4质量存在问题,建议扩大抽检范围,增大质检力度

    分析过程如下:

    一、数据淸洗
    <1>重复值、缺失值、格式调整
    <2>异常值处理(比如:销售金额存在等于0的,属于异常等)

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    from IPython.core.interactiveshell import InteractiveShell
    import openpyxl
    
    InteractiveShell.ast_node_interactivity = "all"
    pd.options.display.max_columns = 1000
    pd.options.display.max_rows = 30
    pd.set_option('display.float_format', lambda x: '%5f' % x)
    %matplotlib inline
    plt.rcParams['font.sans-serif'] = 'SimHei'
    plt.rcParams['axes.unicode_minus'] = False
    %config Inlinebackend.config_format = 'svg'
    """
    通过info()可以看出,包括10列数据,名字,数据量,格式等,可以得出:
    1.订单号,货品交货情况,数量:存在缺失值,但是确实量不大,可以删除
    2.订单行,对分析无关紧要,可以考虑删除
    3.销售金额格式不对(万元|元,逗号问题),数据类型需要转换成intlfloat
    """
    #删除重复记录
    data.drop_duplicates(keep='first',inplace=True)
    print(data.info())
    #删除缺失值(na,删除带有na的整行数据,axis=0,how='any'默认值)
    data.dropna(axis=0,how='any',inplace=True)
    print(data.info())
    #删除订单行
    data.drop(columns=['订单行'],inplace=True,axis=1)
    print(data.info())
    #更新索引
    data = data.reset_index(drop=True,inplace=True)
    #取出销售金额列,对每一个数据进行清洗
    #编写自定义过滤函数:删除逗号,转成float,如果是万元则*10000,否则,删除元
    def data_deal(number):
        if number.find('万元') != -1:  #找到带有万元的,取出数字,去掉逗号,转成float,*10000,find()!=-1即找到带有万元的意思
            number_new = float(number[:number.find('万元')].replace(',', '')) * 10000
            pass
        else:  #找到带有元的,删除元,删除逗号,转成float
            number_new = 0
            pass
        return number_new
    
    
    data['销售金额']=data['销售金额'].map(data_deal)
    data
    #2.异常值处理
    data.describe()  #数据描述
    data=data[data['销售金额']!=0]
    #1.销售金额==0,采用删除方法,因为数量很小
    data.describe()
    #2.销售金额和数量存在严重右偏现象,在电商领域2/8很正常,无需处理
    

    二、数据规整
    比如:增加一项辅助列:月份

    data['销售时间']=pd.to_datetime(data['销售时间'])
    data['月份']=data['销售时间'].apply(lambda x:x.month)
    #用apply()会对销售时间列里每个数据执行lambda函数,lambda取出month,储存到‘月份’列
    

    三.数据分析:
    1.配送服务是否存在问题“
    a.月份维度

    data['货品交货状况']=data['货品交货状况'].str.strip()#用strip函数去除内容中出现的首位空格现象
    data1=data.groupby(['月份','货品交货状况']).size().unstack()#size(),分组后的数据进行一个梳数量的统计.unstack()可以用列的形式显示
    data1
    #各月份按时交货率的计算
    data1['按时交货率']=data1['按时交货']/(data1['按时交货']+data1['晚交货'])
    data1
     #根据区域查看按时交货率
    data2=data.groupby(['销售区域','货品交货状况']).size().unstack()#size(),分组后的数据进行一个梳数量的统计.unstack()可以用列的形式显示
    data2['按时交货率']=data2['按时交货']/(data2['按时交货']+data2['晚交货'])
    print(data2.sort_values(by='按时交货率',ascending=False))
    #货品维度
    data2=data.groupby(['货品','货品交货状况']).size().unstack()#size(),分组后的数据进行一个梳数量的统计.unstack()可以用列的形式显示
    data2['按时交货率']=data2['按时交货']/(data2['按时交货']+data2['晚交货'])
    print(data2.sort_values(by='按时交货率',ascending=False))
    #货品和销售区域结合
    data2=data.groupby(['货品','销售区域','货品交货状况']).size().unstack()#size(),分组后的数据进行一个梳数量的统计.unstack()可以用列的形式显示
    data2['按时交货率']=data2['按时交货']/(data2['按时交货']+data2['晚交货'])
    print(data2.sort_values(by='按时交货率',ascending=False))
     #月份下,各货品销售的情况
    data1=data.groupby(['月份','货品'])['数量'].sum().unstack()
    data1.plot(kind='line')
    t='(货品2)11月份销售量猛增'
    plt.text(9.5,-9000,t,ha='center',fontsize=16,color='r')
    #b.不同区域
    data1=data.groupby(['销售区域','货品'])['数量'].sum().unstack()
    data1
     #c不同的月份,区域的货品销量
    data1=data.groupby(['月份','销售区域','货品'])['数量'].sum().unstack()
    data1
    #商品是否存在质量问题
    #销售区域,货品用户反馈情况
     
    data['货品用户反馈']=data['货品用户反馈'].str.strip()#先取出'用户反馈'字符串,再进行首位空格删除
    data1=data.groupby(['货品','销售区域'])['货品用户反馈'].value_counts().unstack()
    data1['质量合格率']=data1['质量合格']/data1.sum(axis=1)
    #data1['质量合格率']=data1['质量合格']/(data1['拒货']+data1['质量合格']+data1['返修'])
    data1.sort_values(['质量合格率'],ascending=False)
    data1['质量合格率'].plot(kind='bar')
    t='货品3,6,5合格率较高,返修率较低;货品1,2,4合格率较低,返修率较高'
    plt.text(4.5,-0.45,t,ha='center',fontsize=12,color='r')#总结
    

    相关文章

      网友评论

          本文标题:物流项目分析2

          本文链接:https://www.haomeiwen.com/subject/xzhbrdtx.html