物流行业数据分析

  • 一、数据清洗
    • 1. 重复值、缺失值、格式调整
      • 删除重复记录
      • 删除缺失值
      • 删除订单列
      • 更新索引
      • 清洗数据
    • 2. 异常值处理
  • 二、数据规整
  • 三、 数据分析
    • 1. 配送服务是否存在问题
    • 2. 是否存在尚有潜力的销售区域
    • 3.商品是否存在质量问题
  • 四、总结

Excel适合处理低量级数据,当数据量过高,Excel只能展现部分数据,不利于后续的数据分析,此时使用Python进行数据分析更加方便,有效。

一、数据清洗

先使用info()函数查看数据信息

data=pd.read_csv('data_wuliu.csv',encoding='gbk')
data.info()


从图中可以看出该物流数据共有1160条数据,每条数据有10列,其中订单号货品交货状况数量列存在缺失值,同时销售金额的类型是object类型,应转换其数据类型。具体操作如下:

1. 重复值、缺失值、格式调整

删除重复记录

data.drop_duplicates(keep='first',inplace=True)

删除缺失值

data.dropna(axis=0,how='any',inplace=True)

删除订单列

考虑到订单列对分析数据无关紧要,将订单列删除

data.drop(columns=['订单行'],inplace=True,axis=1)

更新索引

data.reset_index(drop=True,inplace=True)

清洗数据


从图中可以看出,销售金额中含有 “,”,空格,且单位不一致,对此,编写自定义过滤函数,将逗号和空格删除,并统一单位

def data_deal(number):if number.find('万元') !=-1: # 找到带有万元的number_new=float(number[:number.find('万元')].replace(',',''))*10000else:number_new=float(number.replace('元','').replace(',',''))return number_newdata['销售金额']=data['销售金额'].map(data_deal)

2. 异常值处理


从上图可以看出,存在销售金额为0的情况,为异常值,将其删除,同时该数据的中位数远小于平均数,即销售金额和数量存在严重右偏现象,属于正常现象,无需处理。删除代码如下:

data=data[data['销售金额']!=0]

二、数据规整

增加一项辅助列:月份

data['销售时间']=pd.to_datetime(data['销售时间'])
data['月份']=data['销售时间'].apply(lambda x:x.month)

三、 数据分析

1. 配送服务是否存在问题

从三个维度展开分析,具体分析如下:

① 月份维度

data['货品交货状况']=data['货品交货状况'].str.strip()
data1=data.groupby(['月份','货品交货状况']).size().unstack()
data1['按时交货率']=data1['按时交货']/(data1['按时交货']+data1['晚交货'])


结论:从按时交货率来看,第四季度低于第三季度,猜测气候原因可能会影响配送

② 销售区域维度

data2=data.groupby(['销售区域','货品交货状况']).size().unstack()
data2['按时交货率']=data2['按时交货']/(data2['按时交货']+data2['晚交货'])


结论:西北地区存在突出的延时交货问题,急需解决

③ 货品维度

data3=data.groupby(['货品','货品交货状况']).size().unstack()
data3['按时交货率']=data3['按时交货']/(data3['按时交货']+data3['晚交货'])

结论:货品4晚交货情况非常严重,其余货品交货情况较好

④ 货品和销售区域结合

data4=data.groupby(['货品','销售区域','货品交货状况']).size().unstack()
data4['按时交货率']=data4['按时交货']/(data4['按时交货']+data4['晚交货'])

结论:货品4送往西北地区的晚交货情况严重,货品2送往马来西亚晚交货情况非常严重

2. 是否存在尚有潜力的销售区域

① 月份维度

data5=data.groupby(['月份','货品'])['数量'].sum().unstack()
data5.plot(kind='line')
plt.show()


结论:货品2在10月份和12月份销量猛增,原因猜测:公司加大营销力度或者开发了新的市场

② 销售区域维度

data6=data.groupby(['销售区域','货品'])['数量'].sum().unstack()

结论:从销售区域看,每种货品销售区域为1-3个,货品1有三个销售区域,货品2有两个销售区域,其余货品均有一个销售区域

③ 月份和销售区域

data7=data.groupby(['月份','销售区域','货品'])['数量'].sum().unstack()



结论:货品2在10、12月份销量猛增,原因主要发生在原有销售区域;货品2在7、8、9、11月份销售数量还有很大提升空间,可以适当加大营销力度;货品2在8月份在两个销售区域的销量均有提升,在马来西亚地区的涨幅更大,可以尝试继续在马来西亚增大营销力度

3.商品是否存在质量问题

data['货品用户反馈']=data['货品用户反馈'].str.strip()
data8=data.groupby(['货品','销售区域'])['货品用户反馈'].value_counts().unstack()
data8['合格率']=data8['质量合格']/data8.sum(axis=1)
data8['返修率']=data8['返修']/data8.sum(axis=1)
data8['拒货率']=data8['拒货']/data8.sum(axis=1)


结论:货品3、6、5合格率均较高,返修率比较低,说明质量还可以;货品1、2、4合格率较低,返修率较高,质量存在一定问题,需要改善,建议扩大抽检范围,增大质检力度;货品2在马来西亚的拒货率最高,同时在马来西亚的按时交货率也非常低,猜测:马来西亚人对送货的时效性要求较高,如果没有按时到货,往往考虑退货,建议加快运输;虑到货品2主要在华东地区销量大,可以考虑增大在华东的投资,适当减少马来西亚的投入

四、总结

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

使用Python对物流行业数据进行数据分析相关推荐

  1. Python分析物流行业数据

    1.展示数据 首先,这里仅仅只有一个工作表,数据一共有订单号,订单行,销售时间(下单时间),交货时间(签收时间),货品交货状态(晚交货或按时交货),货品,用户的反馈情况(质量合格,返修或拒货),销售区 ...

  2. 物流行业解决方案:聚焦物流行业数据痛点,帮助企业搭建数据平台

    伴随着我国制造业.商贸业的迅速发展,与之配套的物流服务水平较之以往有了大幅提高,但同时制造商.贸易商也提出了更高的要求,特别是疫情下对物流可视化的需求也由可选项变成了必需项.本文旨在说明通过BI技术的 ...

  3. 快递物流行业:数据增量下载的实现

    快递物流行业:数据增量下载的实现 网络拓扑图 基础资料包括:操作人员信息,网点信息等,快递行业的网点人员,信息量过多,如果每次都采取全部下载的方式,会导致下载数据会等待很长一段时间,给用户体验带来不利 ...

  4. python项目--物流行业项目分析

    数据来源:某企业销售的6种商品所对应的送货及用户反馈数据:数据链接: 物流行业项目分析数据. 分析过程为: 数据清洗 数据规整 数据分析并可视化 准备工作 首先导入包和数据,将编码设置为gbk,若用u ...

  5. python爬取行业数据_用Python进行Web爬取数据

    介绍 我们拥有的数据太少,无法建立机器学习模型.我们需要更多数据! 如果这句话听起来很熟悉,那么你并不孤单!希望获得更多数据来训练我们的机器学习模型是一个一直困扰人们的问题.我们无法在数据科学项目中获 ...

  6. python处理时间的标准数据_python数据分析数据标准化及离散化详解

    本文为大家分享了python数据分析数据标准化及离散化的具体内容,供大家参考,具体内容如下 标准化 1.离差标准化 是对原始数据的线性变换,使结果映射到[0,1]区间.方便数据的处理.消除单位影响及变 ...

  7. python爬空气污染实时数据_python数据分析综合项目--空气质量指数分析

    项目背景 近年来,我国的环境问题比较严重,很多城市出现了雾霾天气,当然也有很多城市空气依旧清新,为了研究具体的空气环境城市分布,我们采用了假设检验以及线性回归的思想对AQI(空气质量指数)进行分析和预 ...

  8. 用Python对天气预报的数据进行数据分析

    对天气数据进行抓取与分析 1.对天气数据进行抓取 import requestsfrom bs4 import BeautifulSoupimport pandas as pddef getAQI(u ...

  9. 基于python家庭用电量数据的数据分析可视化 完整数据可直接运行

    项目演示:基于python的家庭用电量数据的数据分析可视化 完整数据评论区自取_哔哩哔哩_bilibili 本博客附完整的数据代码: from numpy import nan from pandas ...

最新文章

  1. 万万没想到,1200 年前老祖宗们就知道大数据了
  2. DevExpress GridControl使用(二)
  3. ubuntu 编译安装php mysql_ubuntu编译安装php5 mysql nginx
  4. 初始化java工具失败,spring初始化失败解决办法
  5. 修改某个用户名和密码
  6. 使用procd执行进程
  7. 测试流程图_配方分析 测试说明及流程图详解
  8. mysql读锁和写锁
  9. Codeforces Round #631 (Div. 2) D. Dreamoon Likes Sequences 思维 + 组合数学
  10. 系统盘点Android开发者必须掌握的知识点,全网疯传
  11. 附件计算器中的MC、MR、MS、M+作用
  12. HDU - 4607 Park Visit (树的直径)
  13. 台式计算机投网设备,台式机无线投屏 4台电脑一起投屏
  14. JUCE学习笔记05-音频输出基础(白噪)
  15. JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...
  16. 处理告警“ warning #69-D integer conversion resulted in truncation”的方法
  17. 量化 ZIG函数的python实现
  18. 第9章第24节:制作商业计划书的盈利模式幻灯片 [PowerPoint精美幻灯片实战教程]
  19. 干扰抑制 空时联合 matlab程序,空时联合自适应天线抗干扰的研究
  20. c语言问题 输出字符类型及数量

热门文章

  1. Mosquitto connect连接失败
  2. 身份证信息泄露的危险,你知道吗?简单一招就能查询
  3. 单台AD域控安装和部署配置
  4. html页面设计成占满屏幕,关于html页面布局
  5. 什么是对象?什么是面向对象程序设计?面向对象语言有什么优点?
  6. ANSYS Workbench线圈磁场仿真
  7. 踩坑无数后,极速安装TensorFlow2.1(CPU版)和OpenCV
  8. Upstream Consistent Hash
  9. 百度前端技术学院—-小薇学院(HTML+CSS课程任务)
  10. idea 切换分支导致代码丢失问题