数据分析实战——城市餐饮店铺选址分析(1)

作者: 勤奋的土豆鹿鹿 | 来源:发表于2019-03-30 02:50 被阅读63次

项目目标: 城市餐饮店铺选址

第一部分:从三个维度“口味”、“人均消费”、“性价比”对不同菜系进行比较,并筛选出可开店铺的餐饮类型

要求:

①计算出三个维度的指标得分

②评价方法:

口味→ 得分越高越好

性价比→ 得分越高越好

人均消费→ 价格适中即可

③制作散点图,x轴为“人均消费”,y轴为“性价比得分”,点的大小为“口味得分”

绘制柱状图,分别显示“口味得分”、“性价比得分”

(1)导入数据

相应库的导入
import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import warnings

warnings.filterwarnings('ignore')

from bokeh.io import output_notebook

output_notebook()

from bokeh.plotting import figure, show

from bokeh.models import ColumnDataSource

数据导入(关注文末公众号,回复:城市餐饮店铺,即可获得数据)


df1 = pd.read_excel('上海餐饮数据.xlsx')

(2) 计算出三个维度的指标得分

1) 口味指标计算方法 → 口味评分字段,按照餐饮类别分组算均值,再做标准化处理

2)人均消费指标计算方法 → 人均消费字段,按照餐饮类别分组算均值,再做标准化处理

3)性价比指标计算方法 → 性价比 = (口味 + 环境 + 服务)/人均消费,按照餐饮类别分组算均值,再做标准化处理


data1 = df1[['类别','口味','环境','服务','人均消费']]

筛选数据,清除空值、为0的数据

data1.dropna(inplace=True)

data1 = data1[(data1['口味']>0)&(data1['环境']>0)&(data1['服务']>0)&(data1['人均消费']>0)]

构造性价比指数

data1['性价比'] = (data1['口味']+data1['环境']+data1['服务'])/data1['人均消费']

查看异常值,通过箱形图

fig, axes = plt.subplots(1,3,figsize=(10,4))

data1.boxplot(column=['口味'],ax=axes[0])

data1.boxplot(column=['人均消费'],ax = axes[1])

data1.boxplot(column=['性价比'],ax=axes[2])

去除上下四分位数(异常值处理)剩下每个指标的非异常值

注意,这里先分别计算三个指标,再合并数据(merge)作图,目的是指标之间的噪音数据不相互影响

def f1(data,col):

    q1 = data[col].quantile(q = 0.25)

    q3 = data[col].quantile(q = 0.75)

    iqr = q3 - q1

    t1 = q1 - 3 * iqr

    t2 = q3 + 3 * iqr

    return data.loc[((data[col]>t1)&(data[col]<t2)),['类别',col]]

data_kw = f1(data1,'口味')

data_rj = f1(data1,'人均消费')

data_xjb = f1(data1,'性价比')

按照餐饮类别分组算均值,算出均值后,对所有类的均值做标准化处理再做标准化处理

def f2(data,col):

    col_name = col + '_norm'

    data_gp = data.groupby('类别').mean()

    data_gp[col_name] = (data_gp[col] - data_gp[col].min())/(data_gp[col].max() - data_gp[col].min())

    return data_gp

data_kw_score = f2(data_kw,'口味')

data_rj_score = f2(data_rj,'人均消费')

data_xjb_score = f2(data_xjb,'性价比')

合并数据

data_final_q1 = pd.merge(data_kw_score,data_rj_score,left_index=True,right_index=True)

data_final_q1 = pd.merge(data_final_q1,data_xjb_score,left_index=True,right_index=True)

(3)制作散点图,x轴为“人均消费”,y轴为“性价比得分”,点的大小为“口味得分

结论:人均消费越高,性价比越低;人均消费越低,性价比越高;
口味好的食物一般人均消费和性价比都属于中档或者中档偏上的位置。

plt.scatter(x = data_final_q1['人均消费'], y = data_final_q1['性价比'], s=data_final_q1['口味_norm']*500,alpha=0.4)
image.png

绘制柱状图,分别显示“口味得分”、“性价比得分”

蟹煲,本菜、火锅等口味和性价比都比较高

data_final_q1['口味_norm'].sort_values().plot(kind='bar')
image.png
data_final_q1['人均消费_norm'].sort_values().plot(kind='bar',)
image.png qrcode_for_gh_8341e75b58d6_258.jpg

相关文章

  • 小练习1,餐饮选址

    餐饮店铺选址分析

  • 数据分析实战——城市餐饮店铺选址分析(1)

    项目目标: 城市餐饮店铺选址 第一部分:从三个维度“口味”、“人均消费”、“性价比”对不同菜系进行比较,并筛选出可...

  • 餐饮选址问题

    【项目07】 城市餐饮店铺选址分析 1、从三个维度“口味”、“人均消费”、“性价比”对不同菜系进行比较,并筛选出...

  • python实战总结 - 草稿

    1数据分析项目实战-用户消费行为分析数据分析实战,混泥土机器故障预测2数据分析项目实战-数据分析师的招聘薪资3电脑...

  • python实战总结

    1数据分析项目实战-用户消费行为分析数据分析实战,混泥土机器故障预测2数据分析项目实战-数据分析师的招聘薪资3电脑...

  • 【python】AQI处理分析

    1.Python:数据分析实战之AQI分析(完整版) Python:数据分析实战之AQI分析(完整版)

  • 星商选铺郑州开店店铺选址连锁经营公司如何店面选址

    星商选铺郑州开店店铺选址连锁经营公司如何店面选址 不管房地产市场火爆还是低迷,对数据的分析都是店面选址的基础。 十...

  • 餐饮店铺选址(Python数据分析项目)

    项目需求: 为了在上海市各类型餐饮店铺中选择综合评分最高,消费者心中性价比最好的餐饮类型;以及在上海市区域内寻找该...

  • 店铺开店选址八大步骤旺铺帮

    店铺选址前首要的工作就是对店铺地址进行周密的调查,列出一份详尽的选址调查报告,从而逐一分析店铺选址的利与弊,最后确...

  • 选址有学问,区域去筛选

    四词故事:选址、区域、权衡、筛选 选址有学问,区域是筛选,权衡是分析,筛选做决定。 选址有学问 “对于店铺来说,选...

网友评论

    本文标题:数据分析实战——城市餐饮店铺选址分析(1)

    本文链接:https://www.haomeiwen.com/subject/zewdbqtx.html