数据分析实战——城市餐饮店铺选址分析(1)
项目目标: 城市餐饮店铺选址
第一部分:从三个维度“口味”、“人均消费”、“性价比”对不同菜系进行比较,并筛选出可开店铺的餐饮类型
要求:
①计算出三个维度的指标得分
②评价方法:
口味→ 得分越高越好
性价比→ 得分越高越好
人均消费→ 价格适中即可
③制作散点图,x轴为“人均消费”,y轴为“性价比得分”,点的大小为“口味得分”
绘制柱状图,分别显示“口味得分”、“性价比得分”
(1)导入数据
相应库的导入
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport warningswarnings.filterwarnings('ignore')from bokeh.io import output_notebookoutput_notebook()from bokeh.plotting import figure, showfrom 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 - q1t1 = q1 - 3 * iqrt2 = q3 + 3 * iqrreturn 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)
绘制柱状图,分别显示“口味得分”、“性价比得分”
蟹煲,本菜、火锅等口味和性价比都比较高
data_final_q1['口味_norm'].sort_values().plot(kind='bar')
data_final_q1['人均消费_norm'].sort_values().plot(kind='bar',)
数据分析实战——城市餐饮店铺选址分析(1)相关推荐
- 数据分析案例--01 城市餐饮店铺选址分析
城市餐饮店铺选址分析 数据下载链接: 链接:https://pan.baidu.com/s/1l2-EEMhK0-n8gFPLuOHb1g 提取码:7olt 要求: 1.从三个维度"口味&q ...
- 城市餐饮店铺选址分析
城市餐饮店铺选址的分析 基于这样一个数据 从 "口味"."人均消费"."性价比" 三个维度对不同菜系进行比较,并筛选出可开店铺的餐饮类型 ① ...
- 项目07城市餐饮店铺选址分析
问题 [项目07] 城市餐饮店铺选址分析 1.从三个维度"口味"."人均消费"."性价比"对不同菜系进行比较,并筛选出可开店铺的餐饮类型 要 ...
- 项目01城市餐饮店铺选址分析
一.项目要求 1.从三个维度"口味"."人均消费"."性价比"对不同菜系进行比较,并筛选出可开店铺的餐饮类型 要求: ① 计算出三个维度的指 ...
- 数分笔记整理21 - 数据处理项目 - 城市餐饮店铺选址分析 电商打折套路解析
[项目07] 城市餐饮店铺选址分析 ''' [项目07] 城市餐饮店铺选址分析1.从三个维度"口味"."人均消费"."性价比"对不同菜系进行 ...
- Python 数据分析微专业课程--项目06 城市餐饮店铺选址分析
1.项目说明 通过对上海餐饮数据的分析,选择相对较好的餐饮类型和地段开店 2.项目具体要求 从三个维度"口味"."人均消费"."性价比"对不 ...
- 数据分析Qgis-城市餐饮店铺选址
目标:从三个维度"口味"."人均消费"."性价比"对不同菜系进行比较,并筛选出可开店铺的餐饮类型 实现的具体细节: ① 计算出三个维度的指标 ...
- 【python数据分析实战】城市餐饮店铺选址问题(2)—— 确定餐馆的具体位置
1. 选址的评价指标如下: 人口密度指标 → 得分越高越好 道路密度指标 → 得分越高越好 餐饮热度指标 → 得分越高越好 同类竞品指标 → 得分越低越好 综合 ...
- 【python数据分析实战】城市餐饮店铺选址问题(1)—— 对不同菜系进行比较,并筛选出可开店铺的餐饮类型
1. 首先将要使用的库全部进行导入,并设置程序运行路径 import os os.chdir(r"C:\Users\86177\Desktop") #设置路径 import pan ...
最新文章
- 相关分析在微生物生态学中的应用与误用
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)...
- 解决git clone慢问题
- eeglab中文教程系列(6)-数据叠加平均{1}(Data averaging)
- 操作系统的线程和进程的区别_面试官:你熟悉多线程嘛?线程跟进程有什么区别?...
- 用到f6的快捷键_简单上手excel秘籍:6大Excel技巧展示+50个常用快捷键!会这些就够了...
- python能做什么程序-Python可以被用来做哪些神奇好玩的事情
- Python 根据图片url,批量下载图片
- LTO磁带机清洁准则
- c语言二进制转十六进制代码,C语言--二进制转十六进制
- 手游开发者的渠道之困
- 利用Python爬取网页内容
- 功不唐捐——《程序员职场第一课》后记
- jetson nano 安装乐视的深度相机orbbec
- SQL Server Arithmetic overflow error converting nvarchar to data type numeric
- 快速搭建APP的服务器
- 损失函数理解汇总,结合PyTorch和TensorFlow2
- 数据库迁移expdp impdp 与 OGg 搭建
- Ubuntu 22.10 (Kinetic Kudu) 发布
- 侯捷文章:初学者要如何学习 C++【我见 我闻我感我思】
热门文章
- java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity异常的易被忽略的原因
- 云图说丨华为云区块链引擎服务:高安全的区块链技术服务平台,轻松部署,快速上链
- c语言 输出定向到文件 命令提示符窗口也能看见,关于cmd:显示Windows命令提示符输出并将其重定向到文件...
- acs包括哪几种_描写分为哪几种分别是什么
- arm oe linux gnueabi 系统,交叉编译移植openssl
- 21年新版kali安装
- 【军事】“运筹帷幄”的利器:二三维一体化实战指挥辅助决策系统
- 考研英语 - word-list-1
- STC单片机使用Printf
- 华硕主板+ubuntu18.04+3090驱动安装踩坑记录