【Python】物流行业数据分析与可视化案例

一,前言

        在本文中,我将使用python语言基于Jupyter notebook对这一份物流行业数据集进行多维度数据分析,文章内容参考自b站马士兵《数据分析五大经典实战项目》教学视频,并对其中一些操作做出优化。

        数据集下载地址:物流行业数据分析 - Heywhale.com

        数据集若涉及侵权,请联系删除,谢谢!

 二,数据导入与数据梳理

        <1> 第三方库与数据导入

# 1,导包
import pandas as pd
import numpy as np
# 2,数据导入
data = pd.read_csv("D:/DataSet/data_wuliu.csv", encoding="gbk")

        <2> 查看数据前十行可以发现三点:

  1.         数据中存在缺失值
  2.        " 订单行" 这一列对于数据分析没有实质意义,可以考虑删除
  3.         销售金额单位不统一

         <3> 使用df.info()方法进一步查看数据的类型与缺失情况

        通过输出信息我们能够发现:

        1,数据中虽然存在缺失值,但是缺失值所占的比例非常少,因此我们可以将缺失值进行删除处理;

        2,销售金额、销售时间、交货时间为字符串类型,后续我们需要将其进行类型转换

三,数据清洗

         <1> 缺失值处理

        由于在数据梳理的过程中发现缺失值较少,因此我们对缺失值直接采用删除的方式进行处理

# -- 缺失值处理 --
data.dropna(inplace=True)

        <2> 重复值处理

        重复值对于我们数据分析是无用的,因此我们无需查看,直接将其删除即可

# -- 重复值处理 --
data.drop_duplicates(inplace=True)

        <3> 数据类型处理

        在本案例中,我们发现销售时间、交货时间、销售金额等列均为字符串类型,这是不利于我们后续进行数据分析操作的,因此要对其进行数据类型处理。将销售时间、交货时间转换为时间类型数据,而销售金额则转换为整型数据

# -- 数据类型处理 --
data.销售时间 = pd.to_datetime(data.销售时间)
data.交货时间 = pd.to_datetime(data.交货时间)

# --对字符串进行处理(可以写成链式)
data.销售金额 = data.销售金额.map(lambda x: x.replace(",", ""))
data.销售金额 = data.销售金额.map(lambda x: x.replace("万元", "0000"))
data.销售金额 = data.销售金额.map(lambda x: x.replace("元", ""))
# -- 转换类型
data.销售金额 = data.销售金额.astype("int64")

        <4> 异常值处理

        之所以现在才开始处理异常值,是因为在之前我们还未对销售金额类型进行处理,不利于我们查看异常值的情况

        1,对数值类型数据进行分析

        如下图所示,我们通过观察销售金额与数量这两列可以得出:

  •         存在异常值,即销售金额为0
  •         数据呈现很严重的右偏分布,从数量那一列中即可看出,第3/4位数为4,但是平均值却高达76。不过在电商领域中这属于正常现象,符合二八定律(即百分之二十的用户贡献了百分之八十的销售量),因此无需处理

         2,对异常值进行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值