——————————————学习资料和数据来源于B站-Python-学习库——————————

一.待分析问题

  1. 货品的配送服务有没有问题——交货情况分析
  2. 有没有具有销售潜力的区域——货品销售情况分析
  3. 货品质量问题——货品用户反馈情况分析

二.初识数据-清洗数据

data=pd.read_csv("data_wuliu.csv",encoding='gb2312')
print(data.info())
print(data.describe())

运行结果表明,需要的操作:

1.删除空行

2.数据格式(时间→datetime;销售金额→规整且统一格式、可计算)

3.删除重复值

4.异常值(销售额!=0的行)

清洗数据

#数据清洗
data=data.dropna(axis=0,how='any')#存在空,则删除该行
data=data.drop_duplicates(keep='first')#删除重复值,保留第一个
data=data.drop(columns=['订单行'],axis=1)#删除无用列
data=data[data["销售金额"]!=0]#保留销售金额不为0的数据
data['sale_time']=pd.to_datetime(data['销售时间'])#将销售时间格式转换成datetime格式
data['月份']=data['sale_time'].apply(lambda x:x.month)#对销售时间做映射,提取其中的月份信息,写入“月份”列#对销售金额进行规整:对于
def amounts_deal(x):if x.find('万元')!=-1:#说明销售金额中存在万元,转换成以元为单位的浮点型amounts=float(x[:x.find('万元')].replace(',',''))*10000else:amounts=float(x[:x.find('元')].replace(',',''))return amounts
#调用函数-处理销售金额
data['销售金额']=data['销售金额'].map(amounts_deal)#重新更新索引
data=data.reset_index(drop=True)

三.数据分析及可视化


"""1.货品的配送服务有没有问题——交货情况分析"""
data['货品交货状况']=data['货品交货状况'].str.strip()#货品交货状况改成字符串的格式,并去除前后空格
#a.时间维度看货品交货状态
data1=data.groupby(by=['月份','货品交货状况']).size().unstack()
data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货'])
data1['按时交货率'].plot(kind='line')
plt.xlabel('月份')
plt.ylabel('按时交货率')
plt.title('月份-按时交货率分析')#b.货品维度
data2=data.groupby(by=['货品','货品交货状况']).size().unstack()
data2['按时交货率'] = data2['按时交货']/(data2['按时交货']+data2['晚交货'])
data2['按时交货率'].plot(kind='line')
plt.xlabel('货品')
plt.ylabel('按时交货率')
plt.title('货品-按时交货率分析')#c.销售区域维度
data3=data.groupby(by=['销售区域','货品交货状况']).size().unstack()
data3['按时交货率'] = data3['按时交货']/(data3['按时交货']+data3['晚交货'])
data3['按时交货率'].plot(kind='line')
plt.xlabel('销售区域')
plt.ylabel('按时交货率')
plt.title('销售区域-按时交货率分析')#d 货品和销售区域维度
data['货品交货状况']=data['货品交货状况'].str.strip()
data2=data.groupby(['货品','销售区域','货品交货状况']).size().unstack()
data2['按时交货率']=data2['按时交货']/(data2['按时交货']+data2['晚交货'])

结果:不同维度下交货率

从月份上来看, 11月份按时交货率最低,第四季度的按时交货率普遍低于第三季度;

从货品上来看,货品4的按时交货率极低,急需该货品的更多数据进行分析和提出改善意见;

从销售区域上看,西北地区的按时交货率极低,需要针对该区域的物流信息做出分析和调整

从货品和销售区域多维分析,货品2在马来西亚的按时交货率极低,货品1和货品2在西北的交货率也很低;

"""2.有没有具有销售潜力的区域——货品销售情况分析"""
#a.时间-货品销售数量(判断哪里可以增加宣传力度)
data4=data.groupby(by=['月份','货品'])['数量'].sum().unstack()#分组后对不同货品数量进行求和,进而分析
data4.plot(kind='line')
plt.xlabel('月份')
plt.ylabel('货品售出数量')
plt.title('月份-货品售出数量')
plt.show()#b.时间-货品销售数量(判断什么时间可以增加宣传力度)
data5=data.groupby(by=['销售区域','货品'])['数量'].sum().unstack()#分组后对不同货品数量进行求和
print(data5)

结果:货品销售维度分析

从月份上来看,货品2在十月和十二月销量猛增猜测可能的原因有三:

1.加大了营销力度

2.开辟了新市场——验证货品2在马来西亚和华东地区销量随时间的变化,发现,十月份和十二月份,马来西亚的货品2销售并没有提高,说明十月、十一月销量的增大和开辟新市场可能无关,可能是增大了在华东地区的营销力度

#单独分析货品2在华东和马来西亚的销量随时间变化的关系
data1=data[data['货品']=='货品2']
data2=data1.groupby(by=['月份','销售区域'])['数量'].sum().unstack()
print(data2)
data2.plot(kind='line')
plt.title('货品2在马来亚和华东地区销量随时间的变化关系')
plt.show()

3.十月份是货品2需求量较高的时期,但考虑到十一月销量猛然下降,可能不是自然原因导致,该猜测力降低。

为验证猜测,分析不同月份和地区下,货品2在不同销售区域的销量


分析不同区域下不同货品的销量结果

销售区域 货品1 货品2 货品3 货品4 货品5 货品6
华东 NaN 53812.0 NaN NaN NaN NaN
华北 2827.0 NaN 9073.5 NaN NaN NaN
华南 579.0 NaN NaN NaN NaN NaN
泰国 NaN NaN NaN NaN 5733.0 NaN
西北 11.0 NaN NaN 5229.0 NaN NaN
马来西亚 NaN 1510.0 NaN NaN NaN 8401.0

可以看出,货品1具有三个销售区域,其中华北销量较好,华南销量较低,西北销量最低,需要加大影响力度;

货品2有两个销售区域,华东和马来西亚,其余都是只有一个销售力度


"""3.货品质量问题——看退货情况"""
#从货品和销售区域维度看
data['货品用户反馈']=data['货品用户反馈'].str.strip()
data5=data.groupby(['货品','销售区域'])['货品用户反馈'].value_counts().unstack()
data5['拒货率']=data5['拒货']/data5.sum(axis=1)
data5['返修率']=data5['返修']/data5.sum(axis=1)
data5['合格率']=data5['质量合格']/data5.sum(axis=1)
data5.sort_values(['合格率','返修率','拒货率'],ascending=False,inplace=True)
print(data5)

结果:

货品用户反馈 拒货 质量合格 返修 拒货率 返修率 合格率
货品 销售区域
货品3 华北 31.0 188.0 19.0 0.130252 0.079788 0.789219
货品6 马来西亚 56.0 246.0 14.0 0.177215 0.044279 0.777936
货品5 泰国 14.0 144.0 29.0 0.074866 0.155018 0.769108
货品2 华东 72.0 184.0 51.0 0.234528 0.165997 0.598568
货品1 华南 5.0 4.0 2.0 0.454545 0.174603 0.343963
西北 NaN 1.0 2.0 NaN 0.666667 0.272727
华北 NaN 3.0 12.0 NaN 0.800000 0.189873
货品4 西北 NaN 9.0 49.0 NaN 0.844828 0.152945
货品2 马来西亚 6.0 1.0 3.0 0.600000 0.283019 0.091886

结果看来

货品3.6.5合格率均较高,返修率比较低,说明质量还可以

货品1.2.4合格率较低,返修率较高,质量存在一定的问题,需要改善

货品2在马拉西亚的拒货率最高,同时货品2在马来西亚的按时交货率较低,为0.100000。猜测:马来西亚人对送货的时效性要求较高,如果达不到,则往往考虑拒货。

考虑到货品2主要在华东地区销售量大,可以考虑增大在华东的投资,适当减小马来西亚的投入。

四.数据分析报告

综合数据分析报告

数据来源于某企业销售的6种商品所对应的送货及用户反馈结果数据,分别在货品按时交货率、货品销量、货品质量上进行了分析

1.按时交货率

从月份上来看, 11月份按时交货率最低,第四季度的按时交货率普遍低于第三季度,说明货品运送情况可能与季节、温度有关

从货品上来看,货品4的按时交货率极低,急需该货品的更多数据进行分析,以指导得出按时交货率低的主要原因并提出改善意见;

从销售区域上看,西北地区的按时交货率极低,需要针对该区域的物流信息做出分析和调整

2.货品销量

六种货品除货品2外整体波动不大,货品2在十月和十二月销量猛增,该货品共有两个销售区域,分别为华东和马来西亚,对华东和马来西亚区域货品2的销量分析得,货品2在华东地区的销量较好在马来西亚销量较低,需要做出措施,且在十月份,华东地区销量猛增,可能加大了营销力度。

3.货品质量

货品3.6.5合格率均较高,返修率比较低,说明质量还可以

货品1.2.4合格率较低,返修率较高,质量存在一定的问题,需要改善

货品2在马拉西亚的拒货率最高,同时,在货品2在马拉西亚的按时交货率也非常低。猜测:马来西亚人对送货的时效性要求较高,如果达不到,则往往考虑拒货。考虑到货品2主要在华东地区销售量大,可以考虑增大在华东的投资,适当减小马来西亚的投入。

五.知识点get√

  1. 格式object→datetime
  2. python中find()函数
  3. 删除空/重复/列
  4. apply() 函数,自由度较高,可以直接对 Series(带标签的一位数组) 或者 DataFrame (表格型的数据结构,既有行索引,也有列索引,可看做Series组成的字典)中元素进行逐元素遍历操作,方便且高效,具有类似于 Numpy 的特性。
  5. unstack():将DataFrame格式中行转换成列,便于清晰显示。

数据分析基础项目二、物流行业数据分析相关推荐

  1. 实战项目:物流行业数据分析

    1.数据来源:某企业销售的6中商品所对应的送货及用户反馈数据 解决问题: 配送服务是否存在问题 是否存在有潜力的销售区域 商品是否存在质量问题 结论 货品4-西北,货品2-马来西亚,这两条线路存在较大 ...

  2. FineBI实现物流行业数据分析

    FineBI实现物流行业数据分析 1 物流流向分析 1.1 数据集 1.2 图表---流向地图 2 物流流向TOP10 2.1 图表---颜色表格 3 签收比例前10城市 3.1 图表---对比柱状图 ...

  3. 数据分析之实例二:物流行业数据分析

    import os import pandas as pd import matplotlib.pyplot as plt import numpy as np plt.rcParams['font. ...

  4. Python数据分析实战之物流行业数据分析

    任务1: 数据预处理 表格数据资源如下百度网盘

  5. python数据分析基础试题及答案_Python数据分析与数据可视化题库免费期末考试2020答案...

    Python数据分析与数据可视化题库免费期末考试2020答案 更多相关问题 风险管理是一个不断发展变化的演变过程.在风险管理演变过程中,大多数现代风险管理形式是从()中 以下哪项是虚证闭经的主要病机A ...

  6. 数据分析基础:从统计学入手数据分析!

    作者 | 莱恩7 来源 | 知乎 https://zhuanlan.zhihu.com/p/34444750 统计学是在数据分析的基础上,研究如何测定.收集.整理.归纳和分析反映数据,以便给出正确消息 ...

  7. python数据分析基础教程考试试卷_Python数据分析-自测试卷5

    自测试卷 5 一.选择题 1 .下面关于 RFM 模型说法正确的是( ). A .是衡量客户价值和客户潜在价值的重要工具和手段 B .一种分析销售数据的方法 C .统计客户的方法 D .一种营销方法 ...

  8. python数据分析基础试卷及答案_PYTHON数据分析基础_章节测验,期末考试,慕课答案查询公众号...

    [单选] 液体中密度最大是(). [单选] 液体中密度最大是(). [单选] 振动式密度计的传感线圈作用是检测出(),求得被测液体的密度. [单选] 通过测定物质的质量及其体积得到密度的方法称为()测 ...

  9. 物流行业有什么重要的指标,如何进行数据分析?

    大数据是信息时代的典型特征,即通过收集.输入.储存.管理.分析对传统数据进行整合,在互联网的发展中其重要作用.目前大数据已经应用在很多领域中,并影响着各行各业,也有越来越多的行业开始关注大数据,例如& ...

最新文章

  1. python导入本地文件-Python使用import导入本地脚本及导入模块的技巧总结
  2. 调整显示屏幕偏移和刷新频率[zt]
  3. 有故事、有实践,谈一谈深度迁移学习方法的基本思路
  4. github 部署mysql_GitHub - luckman666/deploy_mysql_cluster: 一键部署mysql集群
  5. 在微信小程序中绘制图表(part3)
  6. iOS Json解析框架之MJExtension使用详解
  7. 河北大学计算机专业排名第几,河北国家一流专业排名,河北大学和燕山大学各13个,华北电力7个...
  8. 查看驱动安装错误日志
  9. 明明选的是个人用途,为什么会被检测商用?
  10. Goldengate进程的拆分与合并
  11. 重新认识下科技核心目录吧!附容易发的期刊名单
  12. visa虚拟卡生成器_你们要的电子虚拟信用卡,它来了,准备好盘了吗?
  13. roboware studio教程_使用roboware创建工作空间
  14. Win 10 添加多国语言
  15. NXP JN5169 使用硬件 SPI 从机收发数据
  16. FineBI 新增字段后 更新缓慢问题
  17. 零界之痕服务器维护,《零界之痕》1月26日更新维护公告
  18. JS - 将tree(树形)数据结构格式改为一维数组对象格式(扁平化)
  19. Qt:C++应用程序开发入门
  20. 制冷与空调作业题库及答案

热门文章

  1. 安卓(Android)TabLayout点击字体变大
  2. 跟测试老兵3天成为APP高手(二)
  3. (附源码)基于vue框架潮牌官网设计与实现 毕业设计 010955
  4. 在生产环境禁用swagger
  5. 2020会考计算机成绩查询,2020年会考成绩官网查询入口
  6. PLsql怎么导出建表语句
  7. 2014年中国互联网的十大装逼词汇
  8. 相互宝成员来报到:宝宝们都在,让我们继续守护!暖心了
  9. js实现-九九乘法表,代码详细,无删减
  10. JAVA sleep函数如何用_java的sleep函数设计问题