数据分析实战——城市餐饮店铺选址分析(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 ...
最新文章
- Myeclipse 安装svn插件
- 【学术相关】RSPapers | 工业界推荐系统论文合集
- CGLib 和JDK 动态代理对比
- django xadmin出现的问题
- PE文件感染和内存驻留
- linux下安装nginx tar包,Linux环境下Nginx的安装
- Android应用程序文件缓存getCacheDir()和getExternalCacheDir()
- Springboot整合SpringSecurity--对静态文件进行权限管理
- 紧急重要四象限软件用哪款便签软件?
- 浅谈如何构建自己的技能树(知识树)
- INSTALL_PARSE_FAILED_NO_CERTIFICATES 解决办法
- JAVA-日期类(Date、SimpleDateFormat)
- 博客已死?移动互联网时代博客的价值
- 想出名 你就这样炒作自己
- 用R写一个迷宫小游戏
- undefined reference to `vtkRenderingVolumeOpenGL_AutoInit_Destruct()',`vtkRenderingVolumeOpenGL_Auto
- 【Linux】linux的网络配置(动态IP与静态IP)
- 教你如何利用php.exe运行php文件
- Django大咖之路: 如何对付学习Django过程中所遇到的挫败感?
- 优酷html代码手机不支持,使用 iframe 引用优酷和土豆和腾讯视频,支持 HTML5 手机 播放...
热门文章
- uva 1362 区间DP
- [从头读历史] 第265节 诗经 周南
- 老罗的android rss,为新品打气?罗永浩再作惊人语:锤子系统比安卓苹果好30%以上...
- WPS/WORD设置每一页显示50行代码或者是固定数量的行数
- 最好的android智能手表,安卓智能手表推荐?十款好用的安卓智能手表排行榜
- SCIE与SCI差别是啥?
- 关于RISC-V成为印度国家指令集的一些看法
- 单片机控制74hc595驱动4个单数码管计数显示
- 创建 ROS 工作区
- 二手书籍交易网站毕业设计,二手书籍买卖平台毕设,二手书籍交易市场平台设计与实现毕业设计论文分析