上海市拌客(武宁路店) 餐饮店的外卖订单详情表数据为可视化

上海市拌客(武宁路店) 餐饮店的外卖订单详情表数据为可视化

一、目的分析店铺的营收情况

天池大赛数据集下载地址:https://tianchi.aliyun.com/dataset/128777
背景
现在的餐饮行业越来越像是一座围城,外面的人看着红红火火,里面的人冷暖自知。
物价不断飙升,租金成本、劳动力成本日益增加,餐饮行业遭遇到了新的挑战,新一轮的洗牌在所难免。
有知名餐饮机构的黯然退场,就有新兴餐饮品牌的粉墨登场。

一、提前准备
1、python第三方库的准备

# 载入库,做基本的设置
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import warnings   # 警告库
import jieba

# pyecharts部分的载入
import pyecharts
from pyecharts.charts import * 
# 载入pyecharts的所有图形元件
from pyecharts import options as opts
# 载入pyecharts的配置选项

warnings.filterwarnings('ignore')
# 忽略代码中遇到的警告信息

# 设置Seaborn的绘图风格,注意该操作会覆盖matplotlib的设置,因此需要放在matplotlib的设置语句之前
sns.set(style = 'darkgrid')

plt.rcParams['font.sans-serif'] = ['SimHei']  # 正常显示中文
plt.rcParams['axes.unicode_minus'] = False    # 正常显示负号
E:\Anaconda3\lib\site-packages\pandas\core\computation\expressions.py:20: UserWarning: Pandas requires version '2.7.3' or newer of 'numexpr' (version '2.7.1' currently installed).
  from pandas.core.computation.check import NUMEXPR_INSTALLED

二、理解数据 数据清洗

首先,我们需要用pandas库进行数据库的读取。
然后,在用pandas里面的read_csv进行数据库的读取,
读取order.csv文件
order = pd.read_csv('orders.csv',encoding='gbk')
# 查看前五行数据
order.head()
addTime 下单日期 下单日期时间 下单时间 品牌名称 城市 平台 用户id 订单id 订单状态 ... 服务费 用户实付 菜品个数 菜品总数 订单数 订单金额 距离 配送费 门店ID 餐盒费
0 2020/8/1 9:22 2020-07-28 2020-07-28 11:01:00 11:01:28 拌客(武宁路店) 上海 eleme 35344964 5004510000000000000 settled ... -5.50 6.80 11 11 1 43.80 797.0 0.8 337460136 2.0
1 2020/8/1 9:22 2020-07-28 2020-07-28 20:12:00 20:12:39 拌客(武宁路店) 上海 eleme 22215837 5004550000000000000 settled ... -5.50 32.96 13 13 1 57.96 239.0 0.8 337460136 2.0
2 2020/8/1 9:23 2020-07-28 2020-07-28 20:18:00 20:18:21 拌客(武宁路店) 上海 eleme 28152060 5004550000000000000 settled ... -5.84 31.04 14 14 1 63.04 239.0 0.8 337460136 2.0
3 2020/8/1 9:23 2020-07-28 2020-07-28 11:42:00 11:42:03 拌客(武宁路店) 上海 eleme 521118154 5004510000000000000 settled ... -5.50 21.52 9 10 1 45.52 2978.0 3.3 337460136 2.0
4 2020/8/1 9:24 2020-07-28 2020-07-28 23:06:00 23:06:48 拌客(武宁路店) 上海 eleme 17026312 5004560000000000000 settled ... -5.97 35.72 15 15 1 65.72 518.0 2.8 337460136 2.0

5 rows × 37 columns

order.loc[order['配送地址eleme']=='121.441305,31.246957','配送地址eleme']='普陀区澳门路872弄7号'
order.loc[order['配送地址eleme']=='121.420720,31.241970','配送地址eleme']='普陀区白兰路137弄2号 '
order.loc[order['门店ID']==337460136,'门店ID']='一店'
order.loc[order['门店ID']==9698624,'门店ID']='二店'
order.loc[order['门店ID']==2043564542,'门店ID']='三店 '
order.loc[order['门店ID']==9428110,'门店ID']='四店 '
order.loc[order['订单状态']=='9','订单状态']='msettled '
order.loc[order['订单状态']=='8','订单状态']='minvalid '
order.loc[order['配送类型']==2002,'配送类型']='美团配送'
order.loc[order['配送类型']==2,'配送类型']='饿了么配送'
order.loc[order['配送类型']==1,'配送类型']='其他配送'
order.columns
Index(['addTime', '下单日期', '下单日期时间', '下单时间', '品牌名称', '城市', '平台', '用户id', '订单id',
       '订单状态', '配送地址eleme', '配送坐标', '配送坐标 - 纬度', '配送坐标 - 经度', '配送类型', '门店名称',
       'order_15d', 'order_30d', 'order_60d', 'order_7d', 'order_90d',
       'sku去重菜品数', '品牌id', '商家实收', '商家补贴', '平台补贴', '总补贴', '服务费', '用户实付',
       '菜品个数', '菜品总数', '订单数', '订单金额', '距离', '配送费', '门店ID', '餐盒费'],
      dtype='object')




 从上面这个订单详情表上可以看出,它的列数会比较多,我们在这里只关注如下数据列,分别是'下单日期','平台','订单id','订单状态', '配送地址eleme','配送类型','商家实收', '商家补贴', '平台补贴', '总补贴', '服务费', '用户实付', '菜品个数', '订单数', '订单金额', '距离', '配送费', '门店ID', '餐盒费'。其它数据在分析中用不上,不用过于去关注。
 具体分析如下:

  1. 订单金额与时间的变化情况;
  2.商家家收入与订单金额的关系;
  3.订单数量与星期的关系;
  4.订单数量与订单金额的关系;
  5.配送地址的频率;
  6.订单状态
  7.平台的订单量
  8.配送类型
  9. 补贴情况
  10.服务费与菜品的关系
  11.门店的收入情况
  12.商家收入与用户实付关系
  13 菜品的个数与餐盒关系
  14 .距离与配送费的关系
# 选取所需要的数据
df_order = order[['下单日期','平台','订单id','订单状态', '配送地址eleme','配送类型',
                  '商家实收', '商家补贴', '平台补贴', '总补贴', '服务费', '用户实付',
       '菜品个数', '订单数', '订单金额', '距离', '配送费', '门店ID', '餐盒费']]
# 对数据进行整体观察
df_order.describe()
订单id 商家实收 商家补贴 平台补贴 总补贴 服务费 用户实付 菜品个数 订单数 订单金额 距离 配送费 餐盒费
count 4.419000e+03 4419.000000 4419.000000 4419.000000 4419.000000 4419.000000 4419.000000 4419.000000 4419.0 4419.000000 4413.000000 4419.000000 4419.000000
mean 2.304600e+18 16.288959 25.551867 2.051957 27.603824 0.153028 23.350342 10.196651 1.0 50.979737 1500.162475 2.417990 2.335144
std 2.442473e+18 9.346231 6.380767 2.105196 6.827127 5.496264 10.944536 3.657969 0.0 14.768896 837.964157 1.557213 0.727017
min 9.428110e+16 -4.700000 0.000000 0.000000 0.000000 -39.210000 1.360000 1.000000 1.0 17.760000 0.000000 0.000000 0.000000
25% 9.698620e+16 10.290000 21.900000 0.000000 23.000000 -5.200000 16.680000 8.000000 1.0 42.140000 865.000000 0.800000 2.000000
50% 9.698620e+16 15.700000 25.000000 2.000000 27.000000 4.500000 21.880000 10.000000 1.0 49.780000 1379.000000 3.000000 2.000000
75% 5.006360e+18 21.120000 28.100000 3.000000 31.100000 4.500000 28.160000 12.000000 1.0 57.480000 2084.000000 3.000000 2.500000
max 5.007880e+18 167.170000 164.000000 25.000000 164.000000 30.580000 209.680000 41.000000 1.0 336.900000 4604.000000 9.000000 15.000000
# 查看缺失值
df_order.isnull().sum()
下单日期         0
平台           0
订单id         0
订单状态         0
配送地址eleme    0
配送类型         0
商家实收         0
商家补贴         0
平台补贴         0
总补贴          0
服务费          0
用户实付         0
菜品个数         0
订单数          0
订单金额         0
距离           6
配送费          0
门店ID         0
餐盒费          0
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值