python项目–物流行业项目分析

人工智能60
  • 数据来源:某企业销售的6种商品所对应的送货及用户反馈数据;数据链接:物流行业项目分析数据.

  • 分析过程为:

  • 数据清洗

  • 数据规整
  • 数据分析并可视化

准备工作

  • 首先导入包和数据,将编码设置为 gbk,若用 utf-8会报错。然后查看数据的整体信息,观察以下结果
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = 'SimHei'
data = pd.read_csv('E:\下载\数据分析实战项目资料\物流\资料\data_wuliu.csv', encoding='gbk')
print(data.info())
  • 输出结果为:
    python项目–物流行业项目分析
    结果运行出来后,进行数据清洗。

数据清洗

  • 主要是进行重复值,缺失值,格式调整
  • 首先对数据表进行观察,观察数据要进行哪些操作
    python项目–物流行业项目分析
  • 通过观察可以得出以下结论:

  • 订单号,商品交货情况,数量:存在缺失值,但是缺失量不大,可以删除

  • 订单行:对分析无关紧要,可以考虑删除
  • 销售金额格式不对( 万元|元,逗号问题),数据类型需要转换成 int|float

  • 删除重复记录,除了缺失值、订单行,因为重复记录被删除,索引不连续,所以需要更新索引。

    [En]

    Delete duplicate records, except missing values, order lines, because duplicate records are deleted, the index is not continuous, so we need to update the index.*

data.drop_duplicates(keep='first', inplace=True)
data.dropna(axis=0, how='any', inplace=True)
data.drop(columns=['订单行'], inplace=True, axis=1)
print(data.head())

data.reset_index(drop=True, inplace=True)
print(data.head())
  • 更新索引前后对比
    python项目–物流行业项目分析
  • 对销售金额列进行处理

  • 取出销售金额列,对每一个数据进行清洗

  • 编写自定义过滤函数,删除逗号,转成 float
  • 若是万元则 *10000,否则删除元
def data_deal(number):
    if number.find('万元') != -1:
        new_number = float(number[:number.find('万元')].replace(',', '')) * 10000
        pass
    else:
        new_number = float(number.replace('元', '').replace(',', ''))
        pass
    return new_number

data['销售金额'] = data['销售金额'].map(data_deal)
  • 对异常值进行处理
    首先输出对数据的描述性统计,进行观察,可以发现数量、销售金额字段值均右偏,在电商领域 右偏2/8很正常,无需处理;销售金额还有0的值,因为数据量很小,所以删除这个值没有影响。
print(data.describe())
data = data[data['销售金额'] != 0]
print(data.describe())
  • 处理对比如下:
    python项目–物流行业项目分析

数据规整

  1. 将销售时间转化为时间序列,并进行查看
  2. 取出时间中的月份存到月份字段中
data['销售时间'] = pd.to_datetime(data['销售时间'])
print(data.info())
data['月份'] = data['销售时间'].apply(lambda x: x.month)
print(data)

结果:
python项目–物流行业项目分析python项目–物流行业项目分析

数据分析并可视化

  1. 配送服务是否存在问题:从四个角度来分析,分别是月份维度、销售区域维度、货品维度和货品和销售区域结合

  2. 月份维度

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

结果:
python项目–物流行业项目分析
分析:从准点率来看,四季度低于三季度,推测可能是气候因素造成的。

[En]

Analysis: from the point of view of on-time delivery rate, the fourth quarter is lower than the third quarter, and it is speculated that it may be caused by the climate.

  • 销售区域维度
data1 = data.groupby(['销售区域', '货品交货状况']).size().unstack()
data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货'])
print(data1.sort_values(by='按时交货率', ascending=False))

结果:
python项目–物流行业项目分析
分析:西北地区存在最突出的延时交货问题,急需解决

  • 货品维度
data1 = data.groupby(['货品', '货品交货状况']).size().unstack()
data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货'])
print(data1.sort_values(by='按时交货率', ascending=False))

结果:
python项目–物流行业项目分析
分析:货品 4晚交货情况非常严重,其余货品相对较好

  • 货品和销售区域结合
data1 = data.groupby(['货品', '销售区域', '货品交货状况']).size().unstack()
data1['按时交货率'] = data1['按时交货']/(data1['按时交货']+data1['晚交货'])
print(data1.sort_values(by='按时交货率', ascending=False))

结果:
python项目–物流行业项目分析
分析:销售区域:最差在西北递去,货品有 14,主要是货品 4送货较晚导致;货品:最差的是货品 2,主要送往华东和马来西亚,主要是马来西亚的送货较晚导致

  1. 是否存在尚有潜力的销售区域,从三个维度进行分析,分别是月份维度、区域维度和月份和区域维度

  2. 月份维度

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

结果:
python项目–物流行业项目分析

分析:货品 210月12月份,销量猛增。原因猜测有:1.公司加大营销力度,2.开发了新的市场(后续有结论)

  • 区域维度
data1 = data.groupby(['销售区域', '货品'])['数量'].sum().unstack()
print(data1)

结果:
python项目–物流行业项目分析
分析:从销售区域看,每种货品销售区域为 1-3个,货品 1有三个销售区域,货品 2有两个销售区域,其余货品均有 1个销售区域

  • 月份和区域维度
data1 = data.groupby(['月份', '销售区域', '货品'])['数量'].sum().unstack()
print(data1['货品2'].unstack())

结果:
python项目–物流行业项目分析

分析:货品 210月12月份销量猛增,原因主要发生在原有销售区(华东);同样,分析出 78911月份销售数量还有很大提升空间,可以适当加大营销力度

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

  2. 拿出产品用户反馈字段的第一个空白处,找出反馈总数,然后依次计算废品率、修复率和合格率,并对三个值进行排序。

    [En]

    take out the first space in the product user feedback field, find out the total number of feedback, and then calculate the rejection rate, repair rate and qualified rate in turn, and sort the three values.*

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

结果:
python项目–物流行业项目分析python项目–物流行业项目分析
分析:货品 365,合格率均较高,返修率比较低,说明质量还可以;货品 124,合格率较低,返修量较高,质量存在一定的问题,需要改善;货品 2在马来西亚的拒货率最高,同时,货品 2在马来西亚的按时交货率也非常低,猜测:马来西亚人对送货的时效性要求较高;如果达不到,则往往考虑拒收;考虑到货品 2主要在华东地区销售量大,可以考虑增大在华中的投入,适当减小马来西亚的投入

总结

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

  4. 扩展: unstack 列转行展示; stack 行转列展示; data1.sum(axis=1):按行进行汇总求和; data.dropna(axis=0, how='any', inplace=True):有一个为空则删除; how='all':该行全为空则删除

Original: https://blog.csdn.net/weixin_46361294/article/details/123819315
Author: 爱学习的Amelia
Title: python项目--物流行业项目分析



相关阅读

Title: 用Anaconda安装TensorFlow(Windows10)

用Anaconda安装TensorFlow

本部分分为方法一和方法二,方法一是从清华镜像官网下载速度较快,
方法二是从GitHub下载,速度较慢(有梯子的建议使用)

1.打开Anaconda Prompt
python项目–物流行业项目分析
2.输入下面两行命令,打开清华镜像官网

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

python项目–物流行业项目分析

3.输入下面命令,利用Anaconda创建一个python3.9的环境,环境名称为tensorflow(这里python版本根据自己的情况如下图)

python项目–物流行业项目分析

conda create -n tensorflow python=3.9

如图所示:
python项目–物流行业项目分析
4.输入y
python项目–物流行业项目分析
5.打开Anaconda Navigator,点击Environments,可以看到名称为tensorflow的环境已经创建好
python项目–物流行业项目分析
python项目–物流行业项目分析
6.上一步最后我们可以看到,启动Tensorflow,使用下面的命令行:

conda activate tensorflow

python项目–物流行业项目分析

关闭tensorflow环境,使用下面的命令行:
python项目–物流行业项目分析
7.我们在这里输入下面的命令,进入tensorflow环境

conda activate tensorflow

python项目–物流行业项目分析
8.输入下面的命令行,安装cpu版本的tensorflow

conda install tensorflow

python项目–物流行业项目分析
此时我们再次查看Anaconda Navigator中的Environments,可以发现tensorflow已经安装好了

python项目–物流行业项目分析
第8步注意!!!
如果出现下图情况或者是从GitHub上下载速度极慢,说明清华镜像网址没有切换成功

python项目–物流行业项目分析
重新执行步骤二即可

TensorFlow安装方法方法二

方法二速度特别特别慢 (如果有梯子的话建议使用)
1.安装好Anaconda后,在系统栏双击打开Anaconda Navigator

python项目–物流行业项目分析
2.点击Environment,Create
python项目–物流行业项目分析
3.创建一个tensorflow的新环境,python在这里可以自行选择(根据Anaconda中安装的python版本,我这里是python3.8),然后点击Create
python项目–物流行业项目分析
4.右边搜索栏输入tensorflow,选择后点击Apply
python项目–物流行业项目分析
5.点击Apply
python项目–物流行业项目分析
等待安装完成即可

Original: https://blog.csdn.net/m0_46299185/article/details/124280787
Author: bEstow--
Title: 用Anaconda安装TensorFlow(Windows10)

相关文章
log4j配置输出到多个日志文件 人工智能

log4j配置输出到多个日志文件

通常我们项目里,有一些重要的日志想单独的输出到指定的文件,而不是全总输出到系统的日志文件中。那么我们log4j为我们提供了这种功能,以下我们来一步一步看是怎么做的。这里以property的配置方式写。...
基于Tensorflow的环境声音分类 人工智能

基于Tensorflow的环境声音分类

本章我们来介绍如何使用Tensorflow训练一个区分不同音频的分类模型,例如你有这样一个需求,需要根据不同的鸟叫声识别是什么种类的鸟,或者识别环境中的声音类型(空调声、汽车鸣笛声、儿童玩耍声、狗叫声...
Tensorflow学习历程 人工智能

Tensorflow学习历程

现在开始tensorflow的学习历程,在学习之前,我是一个彻头彻尾的小白,于是打算在这里记录我误打误撞摸索的历程。 简单了解了,是goole强大的机器学习库。 pip install tensorf...